【发布时间】:2023-04-06 04:34:01
【问题描述】:
我正在开发一个与位于 VPS 上的数据库通信的应用程序。 我需要在我的数据库中存储使用 AES-256 加密的信息。
如果我是正确的,当我加密时,会生成一个 IV 参数,并且每个加密都不同。但是,当我解密时,我没有这个参数,因为我在数据库中只有密钥和加密文本。
我能做些什么来解决这个问题?
【问题讨论】:
-
您是否将同一个密钥用于多个加密操作?
-
是的,我使用相同的密钥来加密数据库上的每个数据
-
IV 不是秘密值;您可以将其与每个加密值一起明文存储
-
您应该在问题中指定操作模式(例如CBC或CTR)。当前的答案假定为 CBC,但我在问题中没有看到任何暗示这就是正在使用的内容。
-
如果您无法将 IV 存储在任何地方,那么您可以考虑使用格式保留加密 (FPE)。
标签: encryption cryptography aes