MD5加密是什么?

Infocode蓝畅 互联网开发 573

MD5加密是什么?

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),是让大容量信息在用数字签名软件签署私人密匙前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。这三个算法的描述和C语言源代码在Internet RFCs 1321中有详细的描述,这是一份最权威的文档,由Ronald L. Rivest在1992年8月向IETF提交。

MD5加密是什么?
MD5加密是什么?

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

在MD5算法中,首先需要对信息进行填充,这个数据按位(bit)补充,要求最终的位数对512求模的结果为448。也就是说数据补位后,其位数长度只差64位(bit)就是512的整数倍。

即便是这个数据的位数对512求模的结果正好是448也必须进行补位。

补位的实现过程:首先在数据后补一个1 bit; 接着在后面补上一堆0 bit, 直到整个数据的位数对512求模的结果正好为448。至少补1位,而最多可能补512位




请在浏览器中启用JavaScript来完成此表单。
请输入姓名或昵称
如果您有任何疑问、需要更多信息或希望与我们建立合作请留言
=
( function() { const style = document.createElement( 'style' ); style.appendChild( document.createTextNode( '#wpforms-17950-field_1-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-17950-field_1-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-17950-field_1-container label { counter-increment: none; }' ) ); document.head.appendChild( style ); document.currentScript?.remove(); } )();
加载

回复

我来回复
  • 暂无回复内容