我正在做一个用AES在Java中构建文件加密软件的项目,它的操作非常简单,但我想知道它是否真的安全。
该程序提示用户输入密码对所选文件进行加密,输入密码后,使用Hmac 256的密钥派生函数PBKDF2对其进行安全保护,salt是8-byte SHA1 PRNG的伪随机数生成器,迭代量为100,000次,密钥长度为256位。
生成的安全密钥用于加密文件。AES的初始化向量是16 byte SHA1 PRNG的伪随机数生成器,文件现在被加密。
加密文件的前16个字节保存到IV中,在过去的8个字节中存储PBKDF2的盐分。
salt和IV不是随文件一起加密的,而是稍后添加的。这些操作安全吗?
发布于 2016-03-02 15:18:10
第一:请不要翻动自己的密码。
如果您这样做是为了生产目的,我强烈建议您不要使用它。如果你想提高你的编程技能,或者这是一个微笑的研究项目,只要你不期望它有很强的(专业)安全性,这是很好的。
现在让我们来看看你在这里给出的那些可以改进的实际要点(按文章中的顺序排列):
https://security.stackexchange.com/questions/116265
复制相似问题