13
A
回答
30
我認爲最好的選擇將選擇一個標準的哈希[要麼md5()
或sha1()
]來獲得你的字符串的哈希值,然後得到一個整數哈希,到base_convert($hash, 16, 10)
,並且應該將哈希轉換成整數哈希。
希望我正確理解你的問題。
2
我不認爲你會發現任何內置的,但你的想法md5()
實際上是相當不錯的。我無法想象爲什麼你會需要別的東西:不能更快,不能更穩定,...
3
我認爲你在兩個步驟中解決這個問題的正確途徑。
首先,您應該堅持使用md5散列來滿足您的「難以逆向」要求。
其次,你可以把md5輸出作爲輸入到你的「將其轉換爲整數」函數。
對於第二部分,你究竟要做什麼? 有是一個整數嗎?或者只是可打印的字符?如果您只是想將散列轉換爲可以存儲在數據庫中的東西,通過線路傳輸或其他原因,md5字符串將無法執行,convertuuencode函數可能適用於您:http://us.php.net/manual/en/function.convert-uuencode.php
另一個環島hackish的做法是獲得你的散列的二進制值,並將其轉換爲小數使用:http://us.php.net/manual/en/function.bindec.php雖然,我從來沒有試過這個,我不知道它是否會像你想要的那樣工作。