Код:
<?php 
#~~~~~~~~Настройки~~~~~~~~# 
$pass_len = 3;                  # длина пароля? 
$pass_count = 250;             # сколько паролей генерировать? 
$file_pass = 'passwords.txt';   # файл с паролями? 
$truncate_file = true;          # отчищать ли файл? 
$add_symb = '!@#$%^&*';         # добавочные символы? 
#~~~~~~~~---------~~~~~~~~# 

/** 
 * genPass() 
 * 
 * @param int $len  - длина 
 * @param string $mix   - дополнительные символы 
 * @return string $result 
 */ 
function genPass($len, $mix = '') 
{ 
    $alpha = 'qwertyuiopasdfghjklzxcvbnm1234567890';    #алфавит 
    $result = '';                                       #результат 
     
    $alpha .= $mix; #добавляем доп. символы 
     
    for($i = 0, $alphlen = strlen($alpha); $i < $len; $i++) #добавляем в цикле случайные символы
        $result .= $alpha{mt_rand(0, $alphlen - 1)};     #случайное число из алфавита 
     
    return $result; #возвращаем результат 
} 

if(!$fp = fopen($file_pass, 'at')) #открываем файл 
    die('Невозможно открыть файл'.$file_pass); 

if($truncate_file) 
    ftruncate($fp, 0);  #отчищаем файл 


for($i = 0; $i < $pass_count; $i++) 
{ 
    fwrite($fp, genPass($pass_len, $add_symb)."\r\n"); #записываем в файл по паролю на строчку
} 

fclose($fp);