【发布时间】:2011-10-06 15:13:16
【问题描述】:
我正在学习正确的加密实现,我想作为一个练习,我会创建一个加密文本编辑器。
我的第一次尝试使用用户提供的密码的 SHA-512 哈希作为密钥,它运行得很好。虽然我将 IV 存储在文件的标题中,但没有受到保护,这让我很担心。
然后我在 stackoverflow 上读到我应该使用 SecretKeyFactory(我正在使用 Java)进行 PBE,现在我还需要提供盐。所以现在我也将盐存储在标题中,但这似乎会破坏拥有盐的整个目的。那么这应该如何工作呢?当我让 Alice 在保存文件时为她的文件选择密码时,我应该说“这里,记住这个随机数和你的密码。”?我希望生成的文件能够通过电子邮件发送给 Bob,因此盐不能存储在本地。
就我的应用而言,IV 和 salt 已公开。我希望我的用户在将文件发送给 Bob 时只需要知道密码,同时保持密码安全,但我找不到任何如何做到这一点的示例。
感谢您的帮助!
【问题讨论】:
标签: encryption passwords