2013-05-08 55 views
-2

我已用C將以下代碼等效MD5在linux散列的命令

u_char buf[64] = "hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha"; 
//Make MD5 hash over buffer 
MD5_Init(&ctx); 
MD5_Update(&ctx, buf, sizeof(buf)); 
MD5_Final(buf, &ctx); 

MD5_InitMD5_UpdateMD5_Final從OpenSSL庫。

上面的代碼在緩衝區buf上做了MD5散列。

我想要使用md5sum

$echo -n "hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha" | md5sum 

Linux命令同樣的事情,但我沒有得到相同的結果

什麼是MD5哈希在Linux命令等同?

+0

什麼是哈希通過OpenSSL實現回來了? – Inspired 2013-05-08 17:15:43

+0

對不起,我沒有在linux例子中使用相同的字符串長度,我使用了字符串長度32而不是64.我得到了相同的結果 – MOHAMED 2013-05-08 17:24:05

回答

1

實際上,md5sum是等效的。

echo打印出一個換行符。試試echo -n hahaha.... | md5sum

+0

事實上,我的測試是用-n我更新了我的問題對於錯字感到抱歉 – MOHAMED 2013-05-08 17:10:57

+0

對不起,我沒有在linux例子中使用相同的字符串長度,我使用了字符串長度爲32而不是64.我得到了相同的結果 – MOHAMED 2013-05-08 17:26:07

0

做「回聲-n」而不是「回聲」回聲追加一個換行符,那麼你真的散列「hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha \ n」

+0

事實上,我的測試是用-n我更新了我的問題抱歉,輸入錯誤 – MOHAMED 2013-05-08 17:11:47

+0

你運行了什麼系統那個?根據manpage,在非GNU系統上,您需要使用'md5sum -b'來使用二進制模式,這可能是C所做的。 – 2013-05-08 17:22:00

+0

對不起,我沒有在linux例子中使用相同的字符串長度,我使用了字符串長度32而不是64.我得到了相同的結果 – MOHAMED 2013-05-08 17:25:46