PHP是否具有内置函数来执行字符串到整数哈希,这是难以逆转的?
现在,我知道我可以放弃做一个md5,并将它的子串作为基数16处理,但我正在寻找内置的东西。
感谢。
答案 0 :(得分:31)
我认为最好的选择是选择一个标准哈希[md5()
或sha1()
]来获取字符串的哈希值,然后获得一个整数哈希值到base_convert($hash, 16, 10)
这应该将您的哈希转换为整数哈希。
希望我能正确理解你的问题。
答案 1 :(得分: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将其转换为小数,但是,我从未尝试过这种方法,但我不确定它是否会像你想要的那样工作它来。
答案 2 :(得分:2)
我不认为你会发现任何内置的东西,但实际上你对md5()
的想法非常好。我无法想象你为什么需要别的东西:不能更快,不能更稳定,......