2016-11-04 15:06发布
md5是签名算法吗?签名算法不是说要包含抗抵赖性,数据的完整性要求么?我想知道md5是怎么做到抗抵赖性的,为什么大家都说用md5对数据进行签名呢?求解答。
md5不是签名算法。md5是用来校验一个文件的完整性的。比如你有一个文件,大小是2M,你生成一个md5值,在传输文件的时候,告诉接收方这个文件的md5值,接收方在收到文件后,再运行一遍md5,把得到的md5值和你告诉对方的md5值进行比较,如果不相同,说明文件被篡改了。在通常情况下,不同文件生成的md5值不同,哪怕两个文件只有一个字节或者一个二进制位的差异,md5值也不相同。但是在极个别情况下,不同文件还是有可能会得到相同的md5值,所以md5不能完全保证文件的唯一性。在传输文件的时候,文件和md5值都是以明文方式传输,没有加密。数字签名则是有一对公钥和私钥,传输之前用私钥加密,任何人都可以用公钥解密,但是不掌握私钥的人,想把解密后的文件再加密回原始状态是不可能的,这样就保证了其不可抵赖性。
最多设置5个标签!
md5不是签名算法。md5是用来校验一个文件的完整性的。比如你有一个文件,大小是2M,你生成一个md5值,在传输文件的时候,告诉接收方这个文件的md5值,接收方在收到文件后,再运行一遍md5,把得到的md5值和你告诉对方的md5值进行比较,如果不相同,说明文件被篡改了。在通常情况下,不同文件生成的md5值不同,哪怕两个文件只有一个字节或者一个二进制位的差异,md5值也不相同。但是在极个别情况下,不同文件还是有可能会得到相同的md5值,所以md5不能完全保证文件的唯一性。在传输文件的时候,文件和md5值都是以明文方式传输,没有加密。数字签名则是有一对公钥和私钥,传输之前用私钥加密,任何人都可以用公钥解密,但是不掌握私钥的人,想把解密后的文件再加密回原始状态是不可能的,这样就保证了其不可抵赖性。
一周热门 更多>