在 AES 中加密数据时,我很难理解 IV(初始化向量)的正确使用。
准确地说,我不确定将随机生成的 IV 存储在哪里:在我的脚本中,数据将被加密,然后保存到文件中,然后程序将终止。在下一个会话期间,必须解密先前保存的数据。如果我对 IV 的理解是正确的,我必须使用与加密相同的 IV 进行解密(但每个加密过程都使用另一个随机 IV)。因此,我必须将 IV 存储在某个地方——有些人建议将其添加到加密数据之前,但如果我做对了,那在我的情况下将不起作用,因为我需要 IV才能解密它。
这是正确的还是我误解了什么?我想避免在一些未加密的纯文本设置文件或其他内容中保存加密/散列密钥和 IV(即使本身已散列)。