3

我有一个函数可以使用 AES 加密来自用户的密钥文本输入。并根据要求对其进行解密。什么是维护 AES 加密的密钥和 IV 的理想方法(截至目前已在应用程序中硬编码)。我每次都将加密数据保存在数据库中。页面加载时从数据库中检索加密值。该值在按钮单击时被解密。有什么最好的我可以以更好的方式使用密钥和 IV。

4

1 回答 1

5

IV可以被保存(甚至可以被“暴露”/公开传播);这不是“秘密”。密钥应保密。因此,您可以保存/传输您的数据,例如<iv_here>;<encrypted_data_here>.

参见维基百科

初始化向量 (IV) 是一种比特块,多种模式使用它来随机化加密,因此即使相同的明文被多次加密,也可以生成不同的密文,而无需较慢的重新加密过程。

初始化向量与密钥具有不同的安全要求,因此 IV 通常不需要保密。然而,在大多数情况下,重要的是初始化向量永远不会在同一个键下重用。

于 2013-03-26T09:20:26.700 回答