Md5 和 CRC32 的区别
推荐于2019-02-22
展开全部
crc32 — 计算一个字符串的 crc32 多项式
生成 string 参数的 32 位循环冗余校验码多项式……:
这句话从英文翻译过来的,不正确,准确的说应该是这么理解:
以32位循环冗余校验多项式算法,来计算一个字符串,返回一个(可能带符号的)整数。
使用方法:
这个函数的功能类似于md5算法、sha1算法加密。这个函数的使用过程中,需要多考虑取返回的整数的绝对值就可以了。
至于如何能做到指陵检查传输的数据是否完整:
参考md5的常见使用场景。
32位循环冗余校验多项式:这个是一个数学算法,在php的源码内可以看到。你可以当作他是一个md5算法的数字版。
MD5可靠性
首先是不可逆
其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,
最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为唯闹戚是不可能的。
crc比较短,md5比较弯昌长
所以md5相对来说冲突的可能性要小很多
如果要求不高,是防范传输误码之类的用crc就可以了,crc效率要高很多
如果要防范人为恶意破坏,需要用md5,慢就慢点,图个可靠性加强
生成 string 参数的 32 位循环冗余校验码多项式……:
这句话从英文翻译过来的,不正确,准确的说应该是这么理解:
以32位循环冗余校验多项式算法,来计算一个字符串,返回一个(可能带符号的)整数。
使用方法:
这个函数的功能类似于md5算法、sha1算法加密。这个函数的使用过程中,需要多考虑取返回的整数的绝对值就可以了。
至于如何能做到指陵检查传输的数据是否完整:
参考md5的常见使用场景。
32位循环冗余校验多项式:这个是一个数学算法,在php的源码内可以看到。你可以当作他是一个md5算法的数字版。
MD5可靠性
首先是不可逆
其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,
最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为唯闹戚是不可能的。
crc比较短,md5比较弯昌长
所以md5相对来说冲突的可能性要小很多
如果要求不高,是防范传输误码之类的用crc就可以了,crc效率要高很多
如果要防范人为恶意破坏,需要用md5,慢就慢点,图个可靠性加强
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询