- <?php 
- // Generate a password of length = Max(8, $len) 
- function generatePassword($len) 
- { 
- 	$lower = 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'); 
- 	$upper = 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'); 
- 	$specials = array('!','"','#','$','%','&','\'','(',')','*','+',',','-','.','/',':',';','<','=','>','?','@','[','\\',']','^','_','`','{','|','}','~'); 
- 	$digits = array('0','1','2','3','4','5','6','7','8','9'); 
- 	$all = array($lower, $upper, $specials, $digits); 
-   
- 	$pwd = $pwd . $specials[array_rand($specials, 1)]; 
-   
- 	for($i = strlen($pwd); $i < max(8, $len); $i++) 
- 	{ 
- 	} 
- } 
-   
- echo generatePassword(1); 
				PD9waHAKLy8gR2VuZXJhdGUgYSBwYXNzd29yZCBvZiBsZW5ndGggPSBNYXgoOCwgJGxlbikKZnVuY3Rpb24gZ2VuZXJhdGVQYXNzd29yZCgkbGVuKQp7CgkkbG93ZXIgPSBhcnJheSgnYScsJ2InLCdjJywnZCcsJ2UnLCdmJywnZycsJ2gnLCdpJywnaicsJ2snLCdsJywnbScsJ24nLCdvJywncCcsJ3EnLCdyJywncycsJ3QnLCd1JywndicsJ3cnLCd4JywneScsJ3onKTsKCSR1cHBlciA9IGFycmF5KCdBJywnQicsJ0MnLCdEJywnRScsJ0YnLCdHJywnSCcsJ0knLCdKJywnSycsJ0wnLCdNJywnTicsJ08nLCdQJywnUScsJ1InLCdTJywnVCcsJ1UnLCdWJywnVycsJ1gnLCdZJywnWicpOwoJJHNwZWNpYWxzID0gYXJyYXkoJyEnLCciJywnIycsJyQnLCclJywnJicsJ1wnJywnKCcsJyknLCcqJywnKycsJywnLCctJywnLicsJy8nLCc6JywnOycsJzwnLCc9JywnPicsJz8nLCdAJywnWycsJ1xcJywnXScsJ14nLCdfJywnYCcsJ3snLCd8JywnfScsJ34nKTsKCSRkaWdpdHMgPSBhcnJheSgnMCcsJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScpOwoJJGFsbCA9IGFycmF5KCRsb3dlciwgJHVwcGVyLCAkc3BlY2lhbHMsICRkaWdpdHMpOwoJCgkkcHdkID0gJGxvd2VyW2FycmF5X3JhbmQoJGxvd2VyLCAxKV07CgkkcHdkID0gJHB3ZCAuICR1cHBlclthcnJheV9yYW5kKCR1cHBlciwgMSldOwoJJHB3ZCA9ICRwd2QgLiAkc3BlY2lhbHNbYXJyYXlfcmFuZCgkc3BlY2lhbHMsIDEpXTsKCSRwd2QgPSAkcHdkIC4gJGRpZ2l0c1thcnJheV9yYW5kKCRkaWdpdHMsIDEpXTsKCQoJZm9yKCRpID0gc3RybGVuKCRwd2QpOyAkaSA8IG1heCg4LCAkbGVuKTsgJGkrKykKCXsKCQkkdGVtcCA9ICRhbGxbYXJyYXlfcmFuZCgkYWxsLCAxKV07CgkJJHB3ZCA9ICRwd2QgLiAkdGVtcFthcnJheV9yYW5kKCR0ZW1wLCAxKV07Cgl9CglyZXR1cm4gc3RyX3NodWZmbGUoJHB3ZCk7Cn0KCmVjaG8gZ2VuZXJhdGVQYXNzd29yZCgxKTs=