我对消息摘要的理解是,它是与加密数据一起发送的一些数据的加密散列,因此您可以验证数据是否未被篡改。这个和消息认证码(MAC)和散列MAC(HMAC)有什么不同?Message Digest,Message Authentication Code和HMAC有什么区别?
48
A
回答
78
- 甲消息摘要算法采用单个输入 - 消息 - 和产生“消息摘要”(又名散列),它允许您验证消息的完整性:任何变化到消息将(理想)导致产生不同的散列。可以替换消息和摘要的攻击者完全能够用新的有效对替换消息和摘要。
- MAC算法有两个输入端 - 的消息和密钥 - 并且产生MAC,其可以验证完整性和的消息的真实性:任何变化到消息或秘密密钥将(理想地)导致产生不同的MAC。没有秘密的人应该能够产生验证的MAC计算;换句话说,可以使用MAC来检查MAC是否由可访问密钥的一方产生。
- HMAC算法只是一种特定类型的MAC算法,它在内部使用散列算法(而不是例如加密算法)来生成MAC。
14
- 甲消息摘要是一个简单的消息的散列。它是应用于输入数据的加密散列函数的输出,它被称为消息。
- A 消息验证码(MAC)是一条证明消息完整性并且不容易被伪造的信息。
- A HMAC是由RFC 2104定义的特定种类的MAC。
维基百科有很好的文章涵盖了所有这些条款:见Message Digest,Message Authentication Code和HMAC。
+1
对于MAC,完整性和真实性都可以证明,因为发送方和接收方共享一个公共密钥。 – Nate 2013-07-01 00:08:44
相关问题
- 1. MD5 Message Digest Java
- 2. 错误: - {“code”:“403”,“message”:“HMAC validation Failure”}
- 3. Send Message和Post Message之间有什么区别,以及这些与C#,WPF和Pure windows编程有何关系?
- 4. Exception的.ToString()和.Message之间的区别是什么?
- 5. Ionic 3 Native:File:{code:5,message:“ENCODING_ERR”}
- 6. select message for message feed
- 7. .NET的HMAC和HMAC KeyedHashAlgorithm有什么区别?
- 8. Mule Message Redelivery
- 9. JGroups:send(null,null,Message)vs send(Address,null,Message)
- 10. Rails erb中的<% code %>和<%= code %>有什么区别?
- 11. git add之间的区别。和git commit -am“message”
- 12. CXF:PAYLOAD和MESSAGE数据格式之间的区别
- 13. HMAC签名和哈希直接有什么区别?
- 14. ISO_8583 MESSAGE包装
- 15. ModelSim Message Viewer空
- 16. Zend \ Mail \ Message问题
- 17. 红宝石中OpenSSL :: HMAC#hexdigest与Digest :: MD5#hexdigest之间的区别?
- 18. VS Code和VS 2017社区版有什么区别?
- 19. Zend_Http_Adapter&error message
- 20. JADE ACL-Message
- 21. Message Queue vs Task Queue difference
- 22. Twilio Message Params Empty
- 23. Google Cloud Message Sandbox
- 24. VBS Message Box
- 25. MVC Localization ViewData [“message”]
- 26. Postfix message received hook
- 27. gcm message to javascript
- 28. javascript flash message
- 29. WSO2 Message Broker 3.0.0和WS-Eventing
- 30. DataContract vs Message Contract
@Rook这里很老的评论,但CMAC只是MAC的一种特定形式。当然,没有什么能反对使用AES-CMAC。 – 2012-08-11 13:32:54
@owlstead你的权利,我很困惑,因为一些图书馆将其称为模式。 – rook 2012-08-11 18:00:06
“一个MAC可以用来检查MAC是否生成...”不应该是“...检查_message_是否生成...”? – leonbloy 2017-09-20 13:46:28