类代码:
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
http://www.bkjia.com/phpjc/824818.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/824818.htmltecharticle类代码: php/** * php - password generator class * version 1.0.0 * */ if (@!is_object($passgen) || !isset($passgen)) { $passgen = new password;} class password{ /** * 大写字母...