我有一个应用程序,其中敏感数据需要以每次运行从相同输入产生相同加密值的方式进行加密。主要数据类型是电子邮件地址。加密的值必须始终相同,因为它们与统计分析相匹配。生成数据的运行将在很长一段时间内定期发生。这使得为 AES 加密选择 IV 有点棘手。问题是:将秘密(给定密码的哈希值)也用作 IV 是否可以接受?加密模式或填充会导致这种不安全吗?我假设这不是一个好的做法,因为我以前从未见过它建议过,但因为它非常方便,我想我会问。
(请注意,哈希值已经是工具中的一个选项。现在也考虑加密,因为这些值是可逆的,这使得客户的报告分析更简单一些。)