使用用户定义的密钥进行AES解密

时间:2014-03-31 11:21:37

标签: winapi cryptoapi

有没有办法使用用户定义的密钥进行AES解密使用WinCrypt API?根据我的理解阅读文档和示例,标准的方法是使用Windows加密API生成随机密钥,将此密钥导出到文件并使用它进行解密。

但我需要允许用户定义自己的加密/解密密码。

1 个答案:

答案 0 :(得分:1)

.NET库在System.Security.Cryptography命名空间中提供了PasswordDeriveBytes,正是出于此目的。看起来CryptDeriveKey是WinCrypt API的等价物。是的,你可以让你的用户选择自己的密码,然后让这个函数咀嚼很多微秒,计算加密函数的实际关键字节数。你的最终用户永远不会错过那几微秒,但是一个蛮力黑客放慢每秒尝试100万个密码而不是10亿密码就会讨厌它,这就是应该的。