c# - C# 的 TripleDES IV?

标签 c# encryption vector initialization

所以当我说这样的话时:

TripleDES tripledes = TripleDES.Create();
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(password, plain);
tripledes.Key = pdb.GetBytes(16);
tripledes.IV = pdb.GetBytes(16);

我得到一个错误。错误曾经出现在 key 上,但已修复(我认为 - 除非您发现错误)。但是,当我设置 IV 时出现错误:

tripledes.IV = pdb.GetBytes(16);

它说它不是一个有效的初始化向量。

我该如何解决?

最佳答案

TripleDES 的 block 大小为 64 位。您正在尝试设置 128 位。

这应该有效:

tripledes.IV = pdb.GetBytes(8);

关于c# - C# 的 TripleDES IV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6364219/

相关文章:

c# - PopUp IsOpen设置为true时开始的操作

c# - 在 VS 2017 中插入 Intellisense 的简化 Using 语句

C# 运行 Windows 窗体应用程序不以窗体开头

c++ - 使用 vector 和正斜杠进行字符串算术

c++ - 数组、 vector 、Boost::arrays

c# - 使用正则表达式在字符串中查找具有多个换行符的子字符串

javascript - 密文未转换为纯文本且未收到警报

Java加密/解密从PHP到Java的数据,IllegalBlockSizeException

java - SecretKey 的重新生成导致 java 中的 key 不同

c++ - 按引用传递(指向对象的指针的 vector )比按值传递更快吗?