MD5状态变量,为什么是A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476这几个变量


找到过一篇答复:

 

3.3 Step 3. Initialize MD Buffer A four-word buffer (A,B,C,D) is used to compute the message digest. Here each of A, B, C, D is a 32-bit register. These registers are initialized to the following values in hexadecimal, low-order bytes first):
     word A: 01 23 45 67
     word B: 89 ab cd ef word C: fe dc ba 98 word D: 76 54 32 10 

他们选择的数字只是按顺序递增和递减单个十六进制数字(这似乎是一组令人愉快的任意初始值)。 因为他们首先编写低位字节,当你用右边最低有效字节写它时,你会得到0x67452301等。

 

其实只是简单的找了4个16进制的变量

分别是

A=01234567

B=89abcdef

C=fedcba98

D=76543210

 

AB分别是16进制的两端,CD只是反过来的字节序。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM