【发布时间】:2012-11-02 13:05:57
【问题描述】:
我正在尝试用 java 编写一个简单的密码管理器。我想使用 AES 256 位加密使用存储的密码加密文件。此外,我希望用户能够使用密码解密文件。当在线阅读其他帖子时,几乎所有人都强调简单地使用密码作为密钥是不安全的,他们提到使用随机盐来增加安全性。但我不明白在生成密钥时如何使用随机盐。如果我从用户的密码和随机盐创建密钥,那么当他们尝试解密他们的文件时,我怎么知道盐是什么?这让我完全糊涂了。
目前,我在每一步都使用常量盐通过几个不同的哈希来运行他们的密码。这足够安全还是我错过了什么?任何有关如何从密码安全地生成密钥的帮助将不胜感激!提前致谢。
【问题讨论】:
-
您可能需要将加密数据的 HMAC 添加到文件末尾以提供一些篡改保护。 stackoverflow.com/questions/992019/… 的可能重复项
标签: java encryption aes