我正在嘗試爲我的網站用戶創建一個動態頭像。有點像stackoverflow。我有一個基於字符串的圖像的PHP腳本:是否有可能兩個不同字符串的MD5是相同的?
path/to/avatar.php?hash=string
我想使用用戶的電子郵件的MD5作爲自己的化身的名字:(和該字符串PHP腳本生成基於圖像上)
$email = $_GET['email'];
$hash = md5($email);
copy("path/to/avatar.php?hash=$hash","path/img/$hash.jpg");
現在我想可以肯定,我可以使用MD5他們的電子郵件作爲他們的頭像的名字?我的意思是沒有兩個不同的字符串具有相同的MD5輸出?換句話說,我想知道兩個不同的字符串的輸出是否是唯一的?
我不知道我的問題是否清楚..我想知道的是,有沒有可能將兩個不同的電子郵件的MD5複製到一起?
是的,這是可能的,約1萬億機會中的1。 – AbraCadaver
@AbraCadaver那麼我該如何生成一個唯一的字符串?在將他的信息插入數據庫之前,我不訪問用戶的'id'。 – Shafizadeh
一個加密專家會來和正確的,但如果你只是想混淆電子郵件地址的MD5可能是好的。你也可以使用SHA256或512. – AbraCadaver