我在创建随机字符串时遇到了麻烦

时间:2011-12-15 08:17:24

标签: php random md5

我有一个小脚本,用于生成25个字符的随机字符串。它大约有70%的时间可以工作,有时则会创建仅为10的字符串。

$unique = substr(md5(microtime()),rand(0,26),25);

我的目标是随机输入一些(小写)字母和数字,而不必创建函数

2 个答案:

答案 0 :(得分:3)

这是因为你用rand(0,26)将它剪切成随机长度。

请改为尝试:

$unique = substr(md5(microtime()), 0, 25);

答案 1 :(得分:0)

不要使用md5(microtime())。您可能认为它比md5(rand())更安全,但事实并非如此。

通过大量尝试和同步方法(如网站上的时钟),可以将microtime()的结果预测为毫秒。

使用md5(rand())

或如果您希望它更安全,请使用md5(microtime()。rand())