Hash算法进行签名验签

最后更新 :2022.03.05

​Hash算法进行签名验签

Hash算法

哈希算法(Hash 算法,Hash 算式,散列算法,消息摘要算法) :将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。

性质

典型的哈希算法: 包括 MD2、MD4、MD5 和 SHA-1。哈希算法也称为“哈希函数”。

SHA

SHA: 是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一。
过程: 接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。

散列函数值 可以说是对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。

信息摘要

它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。

公钥和私钥

公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。

数字签名

将传递的信息进行Hash获取信息摘要,将摘要通过 服务器私钥 加密就生成 数字签名

数字证书

用来确定公钥是否是真正的公钥,而不是中间人的公钥。
证书中心(CA) 给服务器公钥做认证,证书中心用自己的私钥 对服务器公钥和一些相关信息加密,来生成 数字证书 。

以后服务器和客户端传递消息,在签名的同时,再附上证书认证,客户端可以通过 CA的公钥 来解开数字证书获取 服务器的公钥 ,来解开 数字签名 获取信息摘要,在通过对信息进行Hash得到结果,与解密得到的信息摘要进行对比,两者一致说明信息未被修改。

- END -

看更多