所以我已经实现了盐和IV,但解密现在有点儿麻烦。当然,我同时需要salt和IV进行解密,但用户无法输入...我需要能够将salt和IV存储在加密文件中,然后检索salt和IV用户正在解密文件。我该怎么做呢?我将如何存储和检索该数据?
答案 0 :(得分:2)
正如彼得所说,初始化向量和密钥派生的盐应该与加密文件一起存储在标题中。
不要为加密存储创建自己的ad-hoc文件格式,而是查看OpenPGP消息格式(由PGP和GnuPG以及其他程序使用)。它在RFC 4880中指定。您可能不必实现所有这些,但抓住应用程序所需的部分。
作为额外的奖励,用户可以使用PGP / GPG(使用正确的选项和密码/密钥)来解密数据,如果您的程序应该以某种方式停止工作。
答案 1 :(得分:0)
将它们与密文一起存储。你需要提出一个合适的文件格式来做到这一点;一个键控归档器将使它变得容易。