Java中AES加密的初始化向量(IV)是否包含密码?

时间:2015-10-25 15:48:23

标签: java encryption cryptography

在阅读不同的线程之后,我将以下测试代码放在一起以加密和解密字符串。在实际应用程序中,加密字符串将存储在文件中,并在重新启动应用程序并读取文件后进行解密。因此我也要存储初始化向量(IV)。在测试代​​码中,通过将IV保存在成员变量initializer中来模拟。毕竟,应用程序和测试代码工作正常。

但我想知道,密码是否成为IV的一部分:密码进入keySpeckeySpec用于生成secretKeysecretKey成为用于初始化secretKeySpec的{​​{1}},从cipher的参数参数规范中检索IV ...

...所以密码可能是IV的一部分,不是吗?当然,我不想将密码与加密文本一起存储。

cipher

1 个答案:

答案 0 :(得分:1)

不,不会根据密码生成IV。 IV是随机生成的,用于确保如果使用相同的密钥加密相同的明文两次,则不会获得相同的密文。