生成密钥

时间:2012-02-01 09:30:25

标签: vb.net

我正在编写一个需要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位密钥吗?

1 个答案:

答案 0 :(得分:0)

答案取决于你想要的安全程度,我不是安全专家,所以我不会给出建议。

我确实看到了这一点:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rfc2898derivebytes.aspx它可以用来从字符串键和盐中以Jodrell排除的方式派生字节,并且比滚动你自己的要好得多。

此阶段后可能适合的其他构造函数详见:http://msdn.microsoft.com/en-us/library/51cy2e75.aspx

我敢肯定,如果你在网上搜索过,你可以找到如何使用它的例子。