java - 如何从 AES-GCM 密文中去除签名?

标签 java encryption aes aes-gcm

我们需要加密一个字符串并查看加密的字符串是否已存在于数据库中。

如果我们使用 AES-GCM,相同的未加密数据每次都会产生不同的加密字符串。这使得匹配变得毫无用处。

有没有办法使用Java从签名的密文中删除签名,以显示我们可以匹配的密文?

最佳答案

签名不是问题。与大多数现代加密模式一样,AES-GCM 使用 initialization vector ;安全实现将随机生成 IV。由于每次选择的IV不同,因此加密后的数据也会不同。

根据您的要求,您需要将 IV 强制为恒定值,或使用不同的加密模式。 (可能根本不需要加密数据;如果唯一需要支持的任务是查找,则加密哈希函数可能更合适!)

关于java - 如何从 AES-GCM 密文中去除签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739266/

相关文章:

javascript - react-native AES加密匹配Java解密算法

python - 值错误: Invalid padding bytes when decrypting with AES256

Java Spring - 如何处理缺少所需的请求参数

java - 对原始堆栈实现泛型

java - 我怎样才能使 JFrame 内容更改为相应的点击?

c# - RSA解密异常: The length of the data to decrypt is not valid for the size of this key

ios - 使用 AES 进行部分加密 - IOS 应用程序

java - 将类路径容器添加到 Eclipse 插件的运行时

c - RSA 加密的 OpenSSL 可变长度结果 [C 编程]

带有 ECB 的 iOS 3DES 返回一半正确的数据