java - GCM 中的 Mac 检入失败
问题描述
当我调用cipher.doFinal()
方法返回 mac 签入 GCM 失败
fun decrypt(key: SecretKey, input: OperationResult): Input {
val gcmSpec = GCMParameterSpec(tagLength * 8, input.iv)
val cipher = Cipher.getInstance(algorithmName)
cipher.init(Cipher.DECRYPT_MODE, key, gcmSpec)
cipher.updateAAD(input.aad)
val data = cipher.doFinal(input.data + input.tag)
return Input(data = data, aad = input.aad)
}
解决方案
推荐阅读
- flutter - Flutter - 无法在 Mac 上使用 Android Studio 构建 IOS 应用程序
- python - 为什么 isnumeric isdigit 和 isdecimal False 为 1.5?
- python - 如何更新 tkinter 标签上的实时数据?
- python - Python 更快的“如果”用法
- p5.js - P5.js平台游戏
- python - 在输入 NLP 模型之前,您是否必须清理您的测试数据?
- python-3.x - How to iterate through rows and add number increments based on whether a number in a column increases
- c# - 按特定顺序组合列表c#
- svg - Svelte / D3 函数获取路径上的点
- apache - 如何在 url 中获取带有斜杠的参数过滤器