【发布时间】:2015-03-25 16:03:24
【问题描述】:
我正在使用 Rijndael 对称算法实现加密。这是有效的,但我想改变它以使用任何键。我不想生成密钥,我想让用户选择他自己的密钥,比如他的加密密码。
RijndaelManaged myRijndael = new RijndaelManaged();
myRijndael.GenerateKey();
myRijndael.GenerateIV();
var encryptor = new RijndaelManagedEncryption();
var encrypted = encryptor.EncryptSettingValue(myRijndael.Key, "Encrypt this", myRijndael.IV);
比如这样
RijndaelManaged myRijndael = new RijndaelManaged();
myRijndael.GenerateIV();
var key = Convert.FromBase64String("pasword")
var encryptor = new RijndaelManagedEncryption();
var encrypted = encryptor.EncryptSettingValue(key , "Encrypt this", myRijndael.IV);
但如果我这样做,我会得到异常:
在 mscorlib.dll 中出现“System.FormatException”类型的未处理异常 附加信息:Base-64 字符数组或字符串的长度无效。
如果您想查看算法,请点击以下链接:https://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged(v=vs.110).aspx
【问题讨论】:
标签: c# encryption