单行PHP随机字符串生成器?
我正在寻找生成随机/唯一字符串的最短方法,为此我使用以下两种方法:
$cClass = sha1(time());
或
$cClass = md5(time());
但是,我需要字符串以字母开头,我正在查看base64编码,但这在最后增加了,然后我需要摆脱它。==
用一行代码实现这一目标的最佳方法是什么?
更新:
PRNDL提出了一个很好的建议,我最终使用了它,但有点修改
echo substr(str_shuffle(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ),0, 1) . substr(str_shuffle(aBcEeFgHiJkLmNoPqRstUvWxYz0123456789),0, 31)
将产生32个字符模仿md5哈希,但它总是会将第一个字符产生字母字母,就像这样;
然而,Uours确实改进了他的答案;
substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 1).substr(md5(time()),1);
更短更甜
Anonymous2011的另一个建议非常棒,但是由于某种原因,第一个字符总是M,N,Y,Z,所以不符合我的目的,但会是选择的答案,顺便说一句,有谁知道为什么它总是会产生这些特定的字母?
这是我修改后的版本的预览
echo rtrim(base64_encode(md5(microtime())),"=");