Home > php教程 > php手册 > PHP生成随机密码类分享

PHP生成随机密码类分享

WBOY
Release: 2016-06-06 20:20:50
Original
1190 people have browsed it

这篇文章主要介绍了PHP生成随机密码类分享,生成的密码包含大小写英文字母及数字,需要的朋友可以参考下

类代码:

length = $length; $this->configure(true, true, true, false, false); } /** * 配置 */ function configure($uppercase = false, $lowercase = false, $number = false, $special = false, $extra = false ) { $this->chars = array(); $this->upper_chars = 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" ); $this->lower_chars = 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" ); $this->number_chars = array( "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" ); $this->special_chars = array( "!", "@", "#", "$", "%", "^", "&", "*", "(", ")" ); $this->extra_chars = array( "[", "]", "{", "}", "-", "_", "+", "=", "", "?", "/", "`", "~", "|", ",", ".", ";", ":" ); if (($this->uppercase = $uppercase) === true) { $this->chars = array_merge($this->chars, $this->upper_chars); } if (($this->lowercase = $lowercase) === true) { $this->chars = array_merge($this->chars, $this->lower_chars); } if (($this->number = $number) === true) { $this->chars = array_merge($this->chars, $this->number_chars); } if (($this->special = $special) === true) { $this->chars = array_merge($this->chars, $this->special_chars); } if (($this->extra = $extra) === true) { $this->chars = array_merge($this->chars, $this->extra_chars); } $this->chars = array_unique($this->chars); } /** * 从字符列中生成随机密码 * * @return string **/ function generate() { if (empty($this->chars)) { return false; } $hash = ''; $totalChars = count($this->chars) - 1; for ($i = 0; $i length; $i++) { $hash .= $this->chars[$this->random(0, $totalChars)]; } return $hash; } /** * 生成随机数字 * * @return int */ function random($min = 0, $max = 0) { $max_random = 4294967295; $random = uniqid(microtime() . mt_rand(), true); $random = sha1(md5($random)); $value = substr($random, 0, 8); $value = abs(hexdec($value)); if ($max != 0) { $value = $min + ($max - $min + 1) * $value / ($max_random + 1); } return abs(intval($value)); } }

调用:

generate(); //FS4yq74e2LeE

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template