我正在编写一个需要64位密钥的加密应用程序。我目前正在使用以下代码自动生成密钥。
Function GenerateKey() As String
' Create an instance of a symmetric algorithm. The key and the IV are generated automatically.
Dim desCrypto As DESCryptoServiceProvider = DESCryptoServiceProvider.Create()
' Use the automatically generated key for encryption.
Return ASCIIEncoding.ASCII.GetString(desCrypto.Key)
End Function
我希望用户创建自己的密钥。我可以将用户定义的密码(字符串)转换为可以使用的64位密钥吗?
答案 0 :(得分:0)
答案取决于你想要的安全程度,我不是安全专家,所以我不会给出建议。
我确实看到了这一点:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes.aspx它可以用来从字符串键和盐中以Jodrell排除的方式派生字节,并且比滚动你自己的要好得多。
此阶段后可能适合的其他构造函数详见:http://msdn.microsoft.com/en-us/library/51cy2e75.aspx
我敢肯定,如果你在网上搜索过,你可以找到如何使用它的例子。