gpt4 book ai didi

cryptography - Java - javax.crypto.Mac 和 javax.crypto.Cipher 之间的区别?

转载 作者:行者123 更新时间:2023-12-01 18:06:41 32 4
gpt4 key购买 nike

我想了解 javax.crypto.Mac 之间的区别和 javax.crypto.Cipher 。这两个类看起来非常相似(它们具有相似的方法,但是这两个类并不互相继承)。

  1. 这两个类之间的根本区别是什么?
  2. 我什么时候应该使用(或不使用)Mac?
  3. 什么时候应该使用(或不使用)Cipher?

最佳答案

一个Message Authentication Code是为了诚信。它根据某些输入消息计算一种取决于消息和 key 的“ key 校验和”。知道 key 后,可以验证 MAC 是否与给定消息匹配。因此可以可靠地检测到更改。

一个Symmetric encryption algorithm是为了保密。它将消息转换为不可读的比特序列;如果解密 key 已知,则加密是可逆的。

MAC不保证 secret 性;该消息保持原样,清晰可读。加密并不能确保完整性;更改可能不会被发现。在正确应用的密码学中,两者都需要。 (但请注意,这个“适当”术语很大。)

关于cryptography - Java - javax.crypto.Mac 和 javax.crypto.Cipher 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35841955/

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