【发布时间】:2014-10-15 18:13:05
【问题描述】:
我正在尝试在 C# 中执行 AES 256 位 CBC 加密。我正在使用此页面中的示例键/iv 字符串:http://pic.dhe.ibm.com/infocenter/initiate/v9r5/topic/com.ibm.einstall.doc/topics/t_einstall_GenerateAESkey.html
但是,当我运行下面的函数时,我收到一条错误消息,提示“指定的密钥不是此算法的有效大小”。尝试设置 cipher.Key 时。我可以在 node.js 项目中使用此键/iv 组合,但我试图将其移植到 C# 无济于事。我在下面做错了什么?
static void Main(string[] args)
{
string keyString = "B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF";
string ivString = "7E892875A52C59A3B588306B13C31FBD";
byte[] key = Encoding.UTF8.GetBytes(keyString);
byte[] iv = Encoding.UTF8.GetBytes(ivString);
Console.WriteLine("Key is " + key.Length + " bytes.");
using (RijndaelManaged cipher = new RijndaelManaged())
{
cipher.Mode = CipherMode.CBC;
cipher.KeySize = 256;
cipher.BlockSize = 128;
cipher.Key = key;
cipher.IV = iv;
// Create a decrytor to perform the stream transform.
ICryptoTransform encryptor = cipher.CreateEncryptor(cipher.Key, cipher.IV);
}
Console.WriteLine("Success!");
Console.ReadKey();
}
【问题讨论】:
标签: c# encryption aes