如何在PHP中生成一个包含大写字母和数字的10个字符的随机字符串,这些字符串永远不会被复制或被复制的可能性最小?例如:34KJ2SCFPS
如果我只考虑数字,那么可以$randon = time();重复吗?随着时间每毫秒都在变化,我认为这是不可能的。还有机会吗?
Pra*_*een 23
使用下面的代码。
对于数字和字符
$length = 10;
echo substr(str_shuffle('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'),1,$length);
Run Code Online (Sandbox Code Playgroud)
仅用于字符
$length = 10;
echo substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ'),1,$length);
Run Code Online (Sandbox Code Playgroud)
仅限数字
$length = 10;
echo substr(str_shuffle('0123456789'),1,$length);
Run Code Online (Sandbox Code Playgroud)
小智 7
如果不是为了安全,你可以只使用 md5 time() 或 microtime()
$rand = md5(microtime())
Run Code Online (Sandbox Code Playgroud)
您将得到一个随机出现且不重复的 32 个字符的字符串。