2009-06-08 57 views
13

PHP是否有一个内置的函数来完成字符串到整数哈希值,难以反转的东西?PHP的哈希表格字符串为整数

现在,我知道我也许可以逃脱做一个MD5和治疗它的一个子为基数16号,但我在寻找内置的东西。

感谢。

回答

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虽然,我从来没有试过这个,我不知道它是否会像你想要的那样工作。