【发布时间】:2011-07-13 17:57:06
【问题描述】:
目前我正在为 AES 加密/解密生成密钥。密钥基于密码和每个用户的随机盐。我的第一个想法是使用算法“PBKDF2WithHmacSHA1”制作一个 SecretKeyFactory。问题是Android目前不支持。
进行一些搜索后,我发现来自 erickson 的答案建议出于相同目的使用该算法 (AES 256 bit encryption)。我的问题是,如果我使用“PBEWITHSHA256AND256BITAES-CBC-BC”而不是“PBKDF2WithHmacSHA1”,加密过程会有多大不同?关于如何以安全的方式在 android 中为 AES 生成密钥,而不仅仅是使用密钥的盐来散列密码(我不认为这种方法可以遵循),还有其他想法。
【问题讨论】:
-
请注意,PBKDF2 正是这样做的:使用 HMAC 对 salt 进行哈希处理。它只是做了很多次,这使得暴力破解更加昂贵。