array_rand password
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 | <?php $abc = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o','p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O','P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); for ($i=0; $i < 6; $i++) { $pass = array_rand($abc); echo $abc[$pass]; } ?> |
我需要发送电子邮件生成通行证,但我必须生成通行证得到一些变量,但我现在不怎么做。
您可以使用mcrypt扩展的iv函数从系统中获取随机数据。因为它是一个位流,所以您需要以某种方式对它进行编码,这样它就不会在屏幕上成为垃圾。base64编码应该足够了。因为base64编码的字符串大约长33%,所以需要将该字符串缩减到所需的长度。
下面是一个简单的例子:
1 2 3 4 5 6 | function password($length = 10) { $random = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM); $base64 = base64_encode($random); return substr($base64, 0, $length); } var_dump(password(10)); |
号
我只是用这个:
它并不是特别安全,但它确实起到了作用,用户登录时需要用重置密码更改密码。关键是它比循环和字符访问更有效。
用户这段代码是我几天前写的。
1 2 3 4 5 6 7 8 9 10 |