php从字符串哈希到整数

时间:2009-06-08 14:59:05

标签: php hash integer

PHP是否具有内置函数来执行字符串到整数哈希,这是难以逆转的?

现在,我知道我可以放弃做一个md5,并将它的子串作为基数16处理,但我正在寻找内置的东西。

感谢。

3 个答案:

答案 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()的想法非常好。我无法想象你为什么需要别的东西:不能更快,不能更稳定,......