您知道,当您运行openssl
speed for时MD4
,它适用于不同大小的输入消息:16、64、256、1024、8192。我想MD4
直接在我的代码调用函数中做同样的事情,但我真的不知道怎么做我准备一条消息以具有给定的大小。可以说,我想计算MD4
512 或 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;
}
我是对的,在我的例子中,输入大小MD4
是6 (string length) * 8 (char size) = 48
大小?如果是这样,我如何准备一条消息,用作 MD enter code here
4 中的输入?
我有一些想法:
我想给
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);
我想给 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);