|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。主要包含三个程序。 mwSLinux联盟 mwSLinux联盟 程序一:负责从字典中随机提取数据,写入一个新文件。(1.php) mwSLinux联盟 mwSLinux联盟 <?php mwSLinux联盟 /* 从字典文件中提取随机值 */ mwSLinux联盟 mwSLinux联盟 $file1 = "./Words.dic"; mwSLinux联盟 $file2 = "./common_pass_mini.dic"; mwSLinux联盟 $file3 = "./Sys_Month_Date.Dic"; mwSLinux联盟 $rfile = "./5.dic"; mwSLinux联盟 $n = 2000; mwSLinux联盟 mwSLinux联盟 //提取字典 mwSLinux联盟 $basef = file($file1); mwSLinux联盟 $extf = file($file2); mwSLinux联盟 $extf2 = file($file3); mwSLinux联盟 $bf_sum = (count($basef)-1); mwSLinux联盟 $ef_sum = (count($extf)-1); mwSLinux联盟 $ef2_sum =(count($extf2)-1); mwSLinux联盟 mwSLinux联盟 //获取随机用户名 mwSLinux联盟 for ($i=0; $i<$n; $i++) mwSLinux联盟 { mwSLinux联盟 $bn = crand(0, $bf_sum); mwSLinux联盟 $en = crand(0, $ef_sum); mwSLinux联盟 $en2 = crand(0, $ef2_sum); mwSLinux联盟 $name = $basef[$bn]."_".$extf[$en]; mwSLinux联盟 $name = str_replace("\r\n", "", $name); mwSLinux联盟 $all_name[] = $name; mwSLinux联盟 } mwSLinux联盟 mwSLinux联盟 //写入文件 mwSLinux联盟 $result = implode("\r\n", $all_name); mwSLinux联盟 $fp = fopen($rfile, "a+") or die('Open $rfile failed'); mwSLinux联盟 if (fwrite($fp, $result)) { mwSLinux联盟 echo 'Write user succeed!'; mwSLinux联盟 } else { mwSLinux联盟 echo 'Write user failed'; mwSLinux联盟 } mwSLinux联盟 mwSLinux联盟 //生成随机数字函数 mwSLinux联盟 function crand($start, $end) mwSLinux联盟 { mwSLinux联盟 return mt_rand($start, $end); mwSLinux联盟 } mwSLinux联盟 ?> mwSLinux联盟 mwSLinux联盟 mwSLinux联盟 程序二:负责把上面生成的数个文件的结果合并。(2.php) mwSLinux联盟 mwSLinux联盟 <?php mwSLinux联盟 /* 合并所有生成结果 knowsky.com*/ mwSLinux联盟 mwSLinux联盟 $result_file = "./result.dic"; mwSLinux联盟 mwSLinux联盟 $fp = fopen($result_file, "a+") or die("Open $result_file failed"); mwSLinux联盟 mwSLinux联盟 //合并 1.dic ~ 5.dic mwSLinux联盟 for ($i=1; $i<=5; $i++) mwSLinux联盟 { mwSLinux联盟 $cur_file = file_get_contents($i.".dic"); mwSLinux联盟 fwrite($fp, $cur_file); mwSLinux联盟 } mwSLinux联盟 mwSLinux联盟 //合并 10.dic ~ 11.dic mwSLinux联盟 for ($i=10; $i<=11; $i++) mwSLinux联盟 { mwSLinux联盟 $cur_file = file_get_contents($i.".dic"); mwSLinux联盟 fwrite($fp, $cur_file); mwSLinux联盟 } mwSLinux联盟 fclose($fp); mwSLinux联盟 echo 'Write Succeed'; mwSLinux联盟 mwSLinux联盟 ?> mwSLinux联盟 mwSLinux联盟 mwSLinux联盟 程序三:负责过滤重复值和不属于 6~16 之间的值并且生成最终结果(3.php) mwSLinux联盟 mwSLinux联盟 mwSLinux联盟 <?php mwSLinux联盟 /* 生成最终结果 */ mwSLinux联盟 mwSLinux联盟 $file = "./result.dic"; mwSLinux联盟 $target = "./target.dic"; mwSLinux联盟 mwSLinux联盟 //去掉重复值 mwSLinux联盟 $files = file($file); mwSLinux联盟 $files = array_unique($files); mwSLinux联盟 mwSLinux联盟 //判断值是不是大于6位小于16位 mwSLinux联盟 $sum = count($files); mwSLinux联盟 for ($i=0; $i<$sum; $i++) mwSLinux联盟 { mwSLinux联盟 if (strlen($files[$i])>=6 && strlen($files[$i])<=16) { mwSLinux联盟 $rs[] = $files[$i]; mwSLinux联盟 } else { mwSLinux联盟 continue; mwSLinux联盟 } mwSLinux联盟 } mwSLinux联盟 mwSLinux联盟 //写入目标文件 mwSLinux联盟 $result = implode("", $rs); mwSLinux联盟 $fp = fopen($target, "a+") or die("Open $target failed"); mwSLinux联盟 fwrite($fp, $result); mwSLinux联盟 echo 'Write succeed'; mwSLinux联盟 mwSLinux联盟 ?> mwSLinux联盟 mwSLinux联盟 mwSLinux联盟 基本搞定手工,上面生成了 2.7W个随机用户名,呵呵,保证够你使用。 mwSLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|