我有一个小脚本,用于生成25个字符的随机字符串。它大约有70%的时间可以工作,有时则会创建仅为10的字符串。
$unique = substr(md5(microtime()),rand(0,26),25);
我的目标是随机输入一些(小写)字母和数字,而不必创建函数
答案 0 :(得分:3)
这是因为你用rand(0,26)将它剪切成随机长度。
请改为尝试:
$unique = substr(md5(microtime()), 0, 25);
答案 1 :(得分:0)
不要使用md5(microtime())。您可能认为它比md5(rand())更安全,但事实并非如此。
通过大量尝试和同步方法(如网站上的时钟),可以将microtime()的结果预测为毫秒。
使用md5(rand())
或如果您希望它更安全,请使用md5(microtime()。rand())