1

您知道,当您运行opensslspeed for时MD4,它适用于不同大小的输入消息:16、64、256、1024、8192。我想MD4直接在我的代码调用函数中做同样的事情,但我真的不知道怎么做我准备一条消息以具有给定的大小。可以说,我想计算MD4512 或 1024 输入。我该如何准备这个输入?

我有一些代码:

int main()
{
    unsigned char digest[MD4_DIGEST_LENGTH];
    char string[] = "hello";

    MD4((unsigned char*)string, strlen(string), (unsigned char*)digest);

    for(int i = 0; i < MD4_DIGEST_LENGTH; i++)
        printf("%02x", digest[i]);
    printf("\n");

    return 0;
}

我是对的,在我的例子中,输入大小MD46 (string length) * 8 (char size) = 48大小?如果是这样,我如何准备一条消息,用作 MD enter code here4 中的输入?

我有一些想法:

  1. 我想给MD4一个输入消息512 size。我应该这样准备吗:

    字符 txt[64]; for(int i=0; i<512/8; i++) { txt[i] = (char)i; }

然后MD4像这样运行:

`MD4`((unsigned char*)string, strlen(text), (unsigned char*)digest);
  1. 我想给 md4 一个 1024 大小的输入消息。我应该这样准备吗:

    字符 txt[128]; for(int i=0; i<1024/8; i++) { txt[i] = (char)i; }

然后MD4像这样运行:

MD4((unsigned char*)string, strlen(text), (unsigned char*)digest);
4

0 回答 0