登录
首页 >  Golang >  Go问答

aes加密之后需要再用hmac哈希吗?

来源:SegmentFault

时间:2023-02-25 09:50:31 261浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《aes加密之后需要再用hmac哈希吗?》,介绍一下加密、go、AES、加密算法,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

看了下go标准库的aes加密的例子,里面有一句提示:

// It's important to remember that ciphertexts must be authenticated
// (i.e. by using crypto/hmac) as well as being encrypted in order to
// be secure.

这意思是aes加密后,再用hmac哈希一下,传输的时候,密文和哈希值一起传输,接收到数据后先对比哈希值,看看密文有没有别篡改?是这个意思吗?

正确答案

加密有多种模式,对于AES加密而言,最常用的有CBC,GCM两种,其中GCM是一种AEAD)加密,同时满足了信息安全里面的“保密性C”和“完整性I”两个要求。

在golang里面,除了CBC,还提供了GCM模式,参考 go NewGCM,你看的应该是CBC模式,这种模式是不带认证的。

本篇关于《aes加密之后需要再用hmac哈希吗?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>