基于输入数据的短唯一字符串?

时间:2014-05-03 12:45:44

标签: php uniqueidentifier

我想生成一个唯一的字符串,但是不希望字符串太长(比如最大10-12个字符)但是我希望生成这个字符串,例如user id传递的数据+也许是time()

类似的东西:

$foo = sha1($user_id . time());
如果输出字符串不是那么长,

..会工作。

这不是出于安全考虑,所以无论是否可以解码都无关紧要,它只是一个标识符。

有什么我可以使用 - 我不需要将数据传递给它,我只需要确保它是唯一的,只需要alphanumeric个字符。

1 个答案:

答案 0 :(得分:2)

对于基于您的想法的简单解决方案,您可以使用值的十六进制表示:

$foo = sprintf ("%x%x", $user_id, time());

$foo = dechex($user_id) . dechex(time());