关于RSA加密和签名的区别与联系
发现网上对于RSA加密和签名的介绍普遍偏向于使用和概念的说明,今天想说一点不一样的。对于加解密和签名的使用及概念就不再说了,不知道的请自行百度。
签名的本质其实就是加密,但是由于签名无需还原成明文,因此可以在加密前进行哈希处理。所以签名其实就是哈希+加密,而验签就是哈希+解密+比较。
签名过程:对明文做哈希,拼接头信息,用私钥进行加密,得到签名。
验签过程:用公钥解密签名,然后去除头信息,对明文做哈希,比较2段哈希值是否相同,相同则验签成功。

附上一段java代码,可见使用解密方法可以从签名中得到原文的哈希值。
最后附上一些哈希的头信息(16进制)
md2: "3020300c06082a864886f70d020205000410"
md5: "3020300c06082a864886f70d020505000410"
sha1: "3021300906052b0e03021a05000414"
sha224: "302d300d06096086480165030402040500041c"
sha256: "3031300d060960864801650304020105000420"
sha384: "3041300d060960864801650304020205000430"
sha512: "3051300d060960864801650304020305000440"
ripemd160: "3021300906052b2403020105000414"
本文来自博客园,作者:无所事事O_o,转载请注明原文链接:https://www.cnblogs.com/wsss/p/11993763.html
推荐一下我的微信小程序 - “二次验证码TOTP”
- 有任何建议或需求可以直接联系我
- 免费云端加密备份 :换机不丢失,安全又便捷
- API快速集成 :提供开放API,实现自动化验证码获取
- 多端共享:基于微信小程度,可同时在手机,PC端共同使用,一键复制
- 扫描二维码试用,或微信小程序搜索"二次验证码TOTP"


浙公网安备 33010602011771号