C# 无法生成初始化向量 IV

标签 c# cryptography encryption initialization-vector

当我尝试为 TripleDES 加密器创建 IV 初始化向量时出现以下错误。

请看代码示例:

TripleDESCryptoServiceProvider tripDES = new TripleDESCryptoServiceProvider();

byte[] key = Encoding.ASCII.GetBytes("SomeKey132123ABC");
byte[] v4 = key;
byte[] connectionString = Encoding.ASCII.GetBytes("SomeConnectionStringValue");
byte[] encryptedConnectionString = Encoding.ASCII.GetBytes("");

// Read the key and convert it to byte stream
tripDES.Key = key; 
tripDES.IV = v4;

这是我从 VS 得到的异常。

指定的初始化向量 (IV) 与该算法的 block 大小不匹配。

我哪里错了?

谢谢

最佳答案

MSDN 明确 states那:

...The size of the IV property must be the same as the BlockSize property.

对于三重 DES,它是 64 位。

关于C# 无法生成初始化向量 IV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179304/

相关文章:

c++ - c++中的加密问题

c# - 使用 NameValueCollection 类存储两个以上的值

可以在具有 32Kb 内存的 8 位设备上实现 RSA 加密吗?

c# - 如何在 ASP.NET MVC 中确定 Controller 的区域

javascript - 在 JavaScript 中计算 ECDH 共享 key

javascript - 在 Node.js 中实现 JSON Web 加密

php - 在 MySQL 中搜索加密数据的最佳方法

c - 加密/解密 - Libsodium 中的 key 验证加密(初学者)

C# StreamReader.ReadLine 在流结束前返回 null

c# - 使 Gridview 列充满可点击的 URL