hash - 嘉義市悠遊卡 - 嘉義市民卡優惠




MD5是否仍然足以唯一地識別文件? (6)

MD5哈希一個文件仍然被認為是一個足夠好的方法來唯一標識它給予所有的破壞MD5算法和安全問題等? 安全性不是我最關心的問題,但唯一標識每個文件是。

有什麼想法嗎?


MD5已被破壞,您可以改用SHA1(用大多數語言實現)


一個MD5可能會產生衝突。 從理論上講,儘管不太可能,但連續數百萬個文件可以產生相同的散列。 在存儲值之前,不要測試你的運氣並檢查md5衝突。

我個人喜歡創建隨機字符串的MD5,這減少了散列大文件的開銷。 當發現衝突時,我迭代並用附加的循環計數器重新散列。

你可以閱讀鴿子的原理


如果你沒有對手,MD5就足夠了。 但是,有人可以(故意)創建兩個散列到相同值(稱為衝突)的不同文件,這可能會也可能不會成為問題,具體取決於您的具體情況。

由於知道已知的MD5弱點是否適用於給定的上下文是一件微妙的事情,因此建議不要使用MD5。 使用抗碰撞散列函數(SHA-256或SHA-512)是安全的答案。 同樣,使用MD5也是不好的公共關係(如果你使用MD5,你必須準備好證明自己;而沒有人會質疑你使用SHA-256)。


就我個人而言,我認為人們使用原始校驗和(挑選你的方法)其他對像作為唯一標識符太多時,他們真正想要做的是有唯一的標識符。 指定一個對像用於此用途不是意圖,並且可能比使用uuid或類似的完整性機制需要更多的思考。


我喜歡將MD5視為存儲大量文件數據時的概率指標。

如果哈希值相等,那麼我知道我必須逐字節比較文件,但由於錯誤原因,這可能只發生幾次,否則(哈希值不相等)。我可以肯定,我們正在討論兩個不同的文件。


是。 從安全角度來看,MD5已經被徹底打破,但意外碰撞的可能性仍然很小。 只要確保這些文件不是由您不信任的人創建的,並且可能有惡意的意圖。





md5