我想生成一个唯一的字符串,但是不希望字符串太长(比如最大10-12个字符)但是我希望生成这个字符串,例如user id
传递的数据+也许是time()
。
类似的东西:
$foo = sha1($user_id . time());
如果输出字符串不是那么长,..会工作。
这不是出于安全考虑,所以无论是否可以解码都无关紧要,它只是一个标识符。
有什么我可以使用 - 我不需要将数据传递给它,我只需要确保它是唯一的,只需要alphanumeric
个字符。
答案 0 :(得分:2)
对于基于您的想法的简单解决方案,您可以使用值的十六进制表示:
$foo = sprintf ("%x%x", $user_id, time());
或
$foo = dechex($user_id) . dechex(time());