我有一个脚本用于生成25个字符的随机字符串。它的工作原理时约70%,其他时候它创建为字符串只有10我在创建随机字符串时遇到了问题
$unique = substr(md5(microtime()),rand(0,26),25);
我的目标是有(小写)字母和数字的随机字符串,而无需创建一个功能
我有一个脚本用于生成25个字符的随机字符串。它的工作原理时约70%,其他时候它创建为字符串只有10我在创建随机字符串时遇到了问题
$unique = substr(md5(microtime()),rand(0,26),25);
我的目标是有(小写)字母和数字的随机字符串,而无需创建一个功能
这是因为你正在用rand(0,26)将它切割成随机长度。
试试这个:
$unique = substr(md5(microtime()), 0, 25);
谢谢。这很好用! – Tiny 2011-12-15 08:33:14
不要使用MD5(microtime中())。你可能会认为它比md5(rand())更安全,但事实并非如此。
有了相当数量的尝试和同步方法(就像您网站上的时钟),可以预测microtime()的结果为毫秒。
使用MD5(RAND())
,或者如果你希望它是更安全的使用MD5(microtime中()。RAND())
或者他可以使用内置函数uniq_id():) – 2012-01-11 18:29:03
只有10你的意思是只或别的东西,10个字符? – 2011-12-15 08:21:33