gpt4 book ai didi

java - 正在寻找强 key 加密/解密算法,该算法在损坏或修改数据时会失败 "loudly"吗?

转载 作者:行者123 更新时间:2023-12-01 17:35:31 27 4
gpt4 key购买 nike

我正在寻找一种强大的 key 加密算法,该算法具有附加功能,当加密文件被损坏或篡改时,它将“大声”失败;即它会失败并告诉我它,而不是产生垃圾作为解密的输出。

理想情况下,它是 Java 的标准。 AES 可以做到这一点吗?

谢谢,卡斯滕

PS> 我知道我可以通过额外计算加密文件的哈希值来手动执行此操作,但我想避免这样做。

[编辑:删除了“公共(public)/私有(private)”,因为对我来说并不是真正必要的,并且正如人们指出的那样不一致]

最佳答案

你说你想使用如此不对称的公钥/私钥算法。例如,RSA 加密使用 PKCS#1 填充。如果您使用Cipher.getInstance("RSA")此填充是默认的。如果解密失败,填充很可能会被损坏。在java中你会得到BadPaddingException。

尽管如此我强烈建议使用散列(甚至快速MD5)或简单的控制和。看how it is done in IPSec 。 IPsec 使用对称加密 (DES) 和 HMAC(使用散列的消息验证代码)——一种使用加密散列函数进行消息验证的机制。也许,如果您不需要隐藏数据,您应该只使用 HMAC?

我猜你不需要加密,而是数字签名。事实上,数字签名是消息的加密(使用私钥)散列。验证是对该哈希值的解密并与从明文消息计算得出的结果进行比较。

如果您提供更详细的描述,那么我们可以帮助找到最佳解决方案。

关于java - 正在寻找强 key 加密/解密算法,该算法在损坏或修改数据时会失败 "loudly"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755471/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com