关于MD5状态变量的问题

问题描述 投票:0回答:2

我正在研究MD5算法。我发现有四个状态变量(我不确定这意味着什么)。这些变量是 0x67452301 、 0xEFCDAB89 、 0x98BADCFE 和 0x10325476 。我将变量转换为小数,分别得到 1732584193、4023233417、2562383102 和 271733878。

我的问题是,为什么是这些数字?它们是特殊数字吗?

md5
2个回答
9
投票

参见 RFC 1321,第 3.3 节:

3.3 步骤3.初始化MD缓冲区

四字缓冲区(A、B、C、D)用于计算消息摘要。 这里A、B、C、D都是一个32位寄存器。这些寄存器是 初始化为以下十六进制值,低位字节 第一):

     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等。


0
投票
  1. Eeg RFC 1321,qaybta 3.3:

3.3 塔拉阿巴达 3.Bilow MD 缓冲区 Afar kelmadood (A,B,C,D) ayaa loo isticmaalaa in lagu xisaabiyo dheefshiidka fariinta。 Halkan mid kasta oo A、B、C、D ah waa diiwaan 32 位啊。 Diiwangelintan Waxa lagu bilaabay qiyamka soo socda ee 十六进制,bytes-ka hooseeya marka hore): 字A:01 23 45 67 字 B:89 ab cd ef C字:fe dc ba 98 D字:76 54 32 10 Tirooyinka ay Doorteen waa uun kor u kacaya oo hoos u dhigaya halambar oo 十六进制 ah, siday u kala horreeyaan (taas oo u muuqata inay tahay qiyam bilow ah oo si wacan u macne ah).

Maadaama ay marka hore qoreen bytes-ka hooseeya,marka aad ku qorto bytes ugu yar ee midigta,waxaad heleysaa 0x67452301

© www.soinside.com 2019 - 2024. All rights reserved.