MD5可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。
MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域 。
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。
SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
CRC32检错能力极强,开销小,易于用编码器及检测电路实现。
从其检错能力来看,它所不能发现的错误的几率仅为0.0047%以下。
从性能上和开销上考虑,均远远优于奇偶校验及算术和校验等方式。
因而,在数据存储和数据通讯领域,CRC无处不在:著名的通讯协议X.25的FCS(帧检错序列)采用的是CRC-CCITT,ARJ、LHA等压缩工具软件采用的是CRC32,磁盘驱动器的读写采用了CRC16,通用的图像存储格式GIF、TIFF等也都用CRC作为检错手段。
扩展资料:在MD5算法中,首先需要对信息进行填充,这个数据按位(bit)补充,要求最终的位数对512求模的结果为448。
也就是说数据补位后,其位数长度只差64位(bit)就是512的整数倍。
即便是这个数据的位数对512求模的结果正好是448也必须进行补位。
补位的实现过程:首先在数据后补一个1 bit; 接着在后面补上一堆0 bit, 直到整个数据的位数对512求模的结果正好为448。
总之,至少补1位,而最多可能补512位 。
参考资料来源:百度百科-MD5 参考资料来源:百度百科-SHA1参考资料来源:百度百科-CRC32。