我们需要加密一个字符串并查看加密的字符串是否已存在于数据库中。
如果我们使用 AES-GCM,相同的未加密数据每次都会产生不同的加密字符串。这使得匹配变得毫无用处。
有没有办法使用Java从签名的密文中删除签名,以显示我们可以匹配的密文?
最佳答案
签名不是问题。与大多数现代加密模式一样,AES-GCM 使用 initialization vector ;安全实现将随机生成 IV。由于每次选择的IV不同,因此加密后的数据也会不同。
根据您的要求,您需要将 IV 强制为恒定值,或使用不同的加密模式。 (可能根本不需要加密数据;如果唯一需要支持的任务是查找,则加密哈希函数可能更合适!)
关于java - 如何从 AES-GCM 密文中去除签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739266/