< ? php // virer.net function gener_num($long) { $dic="0123456789"; $generated=""; $len=strlen($dic); for($i=0;$i<=$long;$i++) { $generated.=$dic[rand(0,$len-1)]; } return $generated; } function gener_char($long) { $dic="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.@:,$* "; $generated=""; $len=strlen($dic); for($i=0;$i<=$long;$i++) { $generated.=$dic[rand(0,$len-1)]; } return $generated; } function upOrDown($text) { $i=rand(0,1); if ($i == 1) { $text=strtoupper($text); } return $text; } function GenPwd($long) { $dic1="aeiuy"; // to be more readable removed 0 and O $dic2="bcdfghjkmnpqrstvwxz"; // to be more readable removed l and 1 $dic3="23456789"; // to be more readable removed 0 and O $dic4=array('sh','ch','nn','mm','ss','sp','cr','xc','chr','shr','tr','br','pr','gr','dr','fr','qu'); $generated="";$code=""; $len1=strlen($dic1);$len2=strlen($dic2); $len3=strlen($dic3);$len4=count($dic4); for($i=0;$i<=$long;$i++) { if ($i >= $long-1 ) { $dic=$dic3 ; $len=$len3; } elseif ( $i % 2 == 0 ) { $dic=$dic1 ; $len=$len1; } else { if ( $i % 2 == 0 ) { $dic=$dic2 ; $len=$len2; } else { $dic=$dic4 ; $len=$len4; } } $generated.=$dic[rand(0,$len-1)].""; } for($i=0;$i<=strlen($generated)-1;$i++){ $code.=upOrDown($generated[$i]); } return $code; } echo GenPwd(6); // print something like eChrEspY29 ?>