先分别来了解一下:
一、MD5算法
MD5 即 Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有 MD5 实现。
将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5 的前身有 MD2 、MD3 和 MD4 。
MD5 是输入不定长度信息,输出固定长度 128-bits 的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个 128-bits 散列。
MD5 计算广泛应用于错误检查。在一些 BitTorrent 下载中,软件通过计算 MD5 来校验下载到的碎片的完整性。
二、加密算法
在密码学中,加密(英语:Encryption)是将明文信息改变为难以读取的密文内容,使之不可读的过程。密文经由解密方法解密后,又能还原为正常可读的内容。
对比:
相同点:MD5 算法和加密算法都可以将信息转换为另外一种内容。
不通点:MD5 算法对比加密算法 ,缺少了解密过程,不可逆。
事实上,使用 加密算法 加密后的消息是完整的,并且基于解密算法后,可以恢复原始数据。
而 MD5 算法 得到的消息是不完整的,并且通过摘要的数据也无法得到原始数据(你想啊,一个大文件,最后被算成了128bits,能恢复回去就怪了)。
所以,MD5 算法不是加密算法!更贴切的是叫“签名算法”,就像人们在某文件上签署了自己的名字用来代表自己
版权声明:本文为liuxingxing_star原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。