我曾經使用過此頁不見了......最短的哈希值
http://www.php.net/manual/en/function.hash.php
MD5長32個字符,而SHA-1是40 對於例如
$str = 'apple';
sha1 string d0be2dc421be4fcd0172e5afceea3970e2f3d940
md5 string 1f3870be274f6c49b3e31a0c6728957f
即使可選raw_output設置爲TRUE,那麼MD5摘要,而不是用16
的長度我要尋找,將創建的哈希將在函數返回原始的二進制格式等於或少於8個字符。
更新: 我需要3個原因,較小的字符串:
1)MySQL的歸檔表格類型似乎並沒有允許在具有超過8個字符
2)我打算一列的索引使用像redis這樣喜歡小鍵的鍵值工具
3)安全性在這裏不是問題。我散列列,如「國+電信+運營商」
那麼要麼你需要許多位(許多信息),或者你不需要。如果後者是這種情況,那麼爲什麼不將截短的字符串截斷爲所需的長度?只要你總是以同樣的方式做,結果也應該是相同的(對於相同的輸入)。但請記住,較少的位會導致較高的碰撞概率。 – Nobody
你需要什麼?我幾乎不假設你想要生成臨時密碼,但請記住,哈希只包含16個不同的字符。這對於密碼更少。 – KingCrunch
你應該添加更多的解釋爲什麼你想創建一個只有8個字符的散列。這是非常脆弱的。我擔心你可能會犯下一個很大的錯誤,它會跟隨你,並從你的內心詛咒你的項目。 – Whisperity