MD2哈希填充

时间:2012-03-27 03:06:41

标签: c# hash

是的,它已经破旧了,但是我想了解MD2是如何工作的,所以我试图用C#编写代码。到目前为止,我已经得到了看起来应该很简单的填充,但我不确定它是如何工作的。 http://tools.ietf.org/html/rfc1319给出了一个很好的解释,但c中的例子很难理解填充的来源。我很困惑为什么在示例代码中编号在7处停止然后继续到10,就好像它从0到7为两个4位块一样。

我写这个是为了复制它,这会以它应该的方式返回填充吗?

public static byte[] getPadding(int number_needed)
        {
            byte[] temp = new byte[number_needed];
            for (int i = 0; i < temp.Count(); i++)
            {
                temp[i] = BitConverter.GetBytes(number_needed)[0];
            }
            return temp;
        }

1 个答案:

答案 0 :(得分:0)

据我了解RFC,所有填充字节都具有填充字节总数的值。因此,如果您需要添加5个填充字节,则添加5个字节的值0x05。

他们必须在代码示例中使用octal表示法 - 从01-07开始,然后是(八进制)10,11,12 ... 16,17,20。小数值仍为01 -16,但是(填充从不是0字节)。