你知道当你为openssl
运行MD4
速度时,它适用于不同大小的输入消息:16,64,256,1024,8192。我想在我的内容中执行相同操作代码直接调用MD4
函数,但我真的不知道如何准备一个给定大小的消息。可以说,我想为512或1024输入计算MD4
。我该如何准备这个输入?
我有一些代码:
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
的输入消息。我应该这样做准备:
char txt [64]; for(int i = 0; i&lt; 512/8; i ++) { txt [i] =(char)i; }
然后像这样运行MD4
:
`MD4`((unsigned char*)string, strlen(text), (unsigned char*)digest);
我想给md4一个1024大小的输入消息。我应该这样做准备:
char txt [128]; for(int i = 0; i&lt; 1024/8; i ++) { txt [i] =(char)i; }
然后像这样运行MD4
:
MD4((unsigned char*)string, strlen(text), (unsigned char*)digest);