【发布时间】:2010-11-01 04:57:38
【问题描述】:
PHP 是否有一个内置函数可以将字符串转换为整数哈希,这很难逆转?
现在,我知道我可能会做一个 md5,并将它的子字符串视为基数 16 数字,但我正在寻找内置的东西。
谢谢。
【问题讨论】:
PHP 是否有一个内置函数可以将字符串转换为整数哈希,这很难逆转?
现在,我知道我可能会做一个 md5,并将它的子字符串视为基数 16 数字,但我正在寻找内置的东西。
谢谢。
【问题讨论】:
我认为最好的选择是选择标准散列 [md5() 或 sha1()] 来获取字符串的散列,然后获取整数散列到 base_convert($hash, 16, 10),这应该会转换你的散列成整数哈希。
希望我正确理解您的问题。
【讨论】:
我认为您分两步解决这个问题是正确的。
首先,您可能应该坚持使用 md5 哈希来满足您“难以逆转”的要求。
其次,您可以将 md5 输出作为“将其转换为整数”函数的输入。
对于第二部分,你到底要追求什么?它必须是一个整数吗?还是只是可打印的字符?如果您只是想将散列转换为可以存储在数据库中、通过网络传输或 md5 字符串无法执行的其他原因,convertuuencode 函数可能适合您:http://us.php.net/manual/en/function.convert-uuencode.php
另一种迂回的骇人听闻的方法是获取哈希的二进制值,然后使用:http://us.php.net/manual/en/function.bindec.php 将其转换为十进制值,不过,我从未尝试过,并且不确定它是否会像您希望的那样工作.
【讨论】:
我认为您不会为此找到任何内置的东西,但实际上,您使用md5() 的想法非常好。我无法想象你为什么需要其他东西:不能更快,不能更稳定,......
【讨论】: