-1
我想複製下面的代碼在PHP中有一個基於Web的帳戶創建腳本,但我真的不明白在md5哈希之前發生了什麼。任何人都可以解釋這個C密碼哈希算法?
這是代碼:
reg_seconds = (unsigned) regtime/3600L;
ch = strlen (&password[0]);
_itoa (reg_seconds, &config_data[0], 10);
//Throw some salt in the game ;)
sprintf (&password[ch], "_%s_salt", &config_data[0]);
//printf ("New password = %s\n", password);
MDString (&password[0], &MDBuffer[0]);
for (ch=0;ch<16;ch++)
sprintf (&md5password[ch*2], "%02x", (unsigned char) MDBuffer[ch]);
md5password[32] = 0;
當使用密碼「密碼」和一個regtime「399969」我知道「9a5c041c5b37febc90ad3dc66ec62c83」的哈希密碼
誰能解釋一下到底正在發生以及最終的字符串是什麼被散列?
你有什麼問題一步理解? – Martin
'ch = strlen(&password [0]);' - 爲什麼? – errikos
這是一個很好的例子,我們應該如何**不**散列密碼。我知道這不是您的代碼,但請注意,這些密碼不受保護,只會被模糊處理。 – martinstoeckli