我希望使用HMAC- low 256或AES/CBC/PKCS5Padd检测字符串的非法修改,以降低计算成本。哪一个是最好的答案?
我计划用以下格式之一将数据保存在DB中
| METHOD | original STRING | VALIDATION BY |
|--------------------------|-----------------|----------------|
| H:= HMAC-SHA256 | org-string | H(org-string) |
| A:= AES/CBC/PKCS5Padding | org-string | A(org-string) | 如果无法解密A(org-string),则修改原始字符串。
这个问题很好地解释了SHA和AES的区别。
发布于 2016-12-15 14:27:16
在AES/CBC模式下,攻击者可以修改字符串,并使解密结果没有错误;唯一可能导致解密失败的是解密后的非法填充模式,并且:
因此,要回答您的问题,HMAC- the 256是最好的答案,因为AES根本不做这项工作。如果您的密码工具包提供了它,您可能需要考虑AES-CMAC (这是解决这个问题的另一个正确答案)。
https://crypto.stackexchange.com/questions/42319
复制相似问题