Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ini_set('memory_limit', '-1');
- function rotateArray(&$arr) {
- $keys = array_keys($arr);
- $val = $arr[$keys[0]];
- unset($arr[$keys[0]]);
- $arr[$keys[0]] = $val;
- }
- $alpha = [
- ',' => '?',
- '.' => '/',
- 'а' => 'f',
- 'б' => ',',
- 'в' => 'd',
- 'г' => 'u',
- 'д' => 'l',
- 'е' => 't',
- 'ё' => '`',
- 'ж' => ';',
- 'з' => 'p',
- 'и' => 'b',
- 'й' => 'q',
- 'к' => 'r',
- 'л' => 'k',
- 'м' => 'v',
- 'н' => 'y',
- 'о' => 'j',
- 'п' => 'g',
- 'р' => 'h',
- 'с' => 'c',
- 'т' => 'n',
- 'у' => 'e',
- 'ф' => 'a',
- 'х' => '[',
- 'ц' => 'w',
- 'ш' => 'i',
- 'щ' => 'o',
- 'ъ' => ']',
- 'ы' => 's',
- 'ь' => 'm',
- 'э' => '\'',
- 'ю' => '.',
- 'я' => 'z',
- 'А' => 'F',
- 'Б' => '<',
- 'В' => 'D',
- 'Г' => 'U',
- 'Д' => 'L',
- 'Е' => 'T',
- 'Ё' => '~',
- 'Ж' => ':',
- 'З' => 'P',
- 'И' => 'B',
- 'Й' => 'Q',
- 'К' => 'R',
- 'Л' => 'K',
- 'М' => 'V',
- 'Н' => 'Y',
- 'О' => 'J',
- 'П' => 'G',
- 'Р' => 'H',
- 'С' => 'C',
- 'Т' => 'N',
- 'У' => 'E',
- 'Ф' => 'A',
- 'Х' => '{',
- 'Ц' => 'W',
- 'Ш' => 'I',
- 'Щ' => 'O',
- 'Ъ' => '}',
- 'Ы' => 'S',
- 'Ь' => 'M',
- 'Э' => '"',
- 'Ю' => '>',
- 'Я' => 'Z'
- ];
- function replaceAlpha($str) {
- global $alpha;
- $strarr = preg_split('//u', $str, null, PREG_SPLIT_NO_EMPTY);
- for($i = 0; $i < count($strarr); $i++) {
- if(isset($alpha[$strarr[$i]])) {
- $strarr[$i] = $alpha[$strarr[$i]];
- }
- }
- return implode('',$strarr);
- }
- $line_test = [
- ['t11','t12','t13','t14'],
- ['t21','t22','t23'],
- ['t31','t32','t33','t34','t35'],
- ['t41','t42'],
- ['t51','t52','t53'],
- ];
- /*$line = [
- 0 => ['ка','Ка','если','Если','как','Как'],
- 1 => ['б','Б','бы','Бы'],
- 2 => ['не','Не','ни','Ни'],
- 3 => ['было','Было','была','Была'],
- 4 => ['зимы','Зимы','земы','Земы'],
- 5 => ['в','В'],
- 6 => ['городах','Городах','горадах','Горадах','гарадах','Гарадах','гародах','Гародах'],
- 7 => ['и','И'],
- 8 => ['селах','Селах','сёлах','Сёлах','сЁлах','СЁлах'],
- 9 => ['не','Не','ни','Ни'],
- 10 => ['когда','Когда','кагда','Кагда'],
- 11 => ['б','Б','бы','Бы'],
- 12 => ['не','Не','ни','Ни'],
- 13 => ['знали','Знали','знале','Знале'],
- 14 => ['мы','Мы'],
- 15 => ['этих','Этих','етих','Етих','этех','Этех','етех','Етех'],
- 16 => ['дней','Дней','днеи','Днеи'],
- 17 => ['веселых','Веселых','весёлых','Весёлых','весЁлых','ВесЁлых','виселых','Виселых','висёлых','Висёлых','висЁлых','ВисЁлых'],
- 18 => ['не','Не','ни','Ни'],
- 19 => ['к','К'],
- ];*/
- /*$line = [
- 0 => ['ка','Ка','если','Если','как','Как'],
- 1 => ['б','Б','бы','Бы'],
- 2 => ['не','Не','ни','Ни'],
- 3 => ['было','Было','была','Была'],
- 4 => ['Зимы','Земы'],
- 5 => ['в','В'],
- 6 => ['городах','Городах','горадах','Горадах','гарадах','Гарадах','гародах','Гародах'],
- 7 => ['и'],
- 8 => ['Селах','Сёлах'],
- 9 => ['не','Не','ни','Ни'],
- 10 => ['когда','Когда','кагда','Кагда'],
- 11 => ['б','Б','бы','Бы'],
- 12 => ['не','Не','ни','Ни'],
- 13 => ['знали','Знали','знале','Знале'],
- 14 => ['мы','Мы'],
- 15 => ['Этих','Етих','Этех','Етех'],
- 16 => ['Дней','Днеи'],
- 17 => ['Веселых','Весёлых','Виселых','Висёлых'],
- 18 => ['не','Не','ни','Ни'],
- 19 => ['к','К'],
- ];*/
- /*$line = [
- 0 => ['кабы','ка бы'],
- 1 => ['не было','небыло', 'ни было', 'нибыло'],
- 2 => ['зимы', 'земы'],
- 3 => ['вгородах','вгародах', 'вгарадах','в городах','в гародах','в гарадах'],
- 4 => ['и'],
- 5 => ['селах','cёлах'],
- 6 => ['некогда','никогда','не когда','ни когда'],
- 7 => ['б','бы'],
- 8 => ['незнали','низнали','не знали','ни знали'],
- 9 => ['мы'],
- 10 => ['этих','этех'],
- 11 => ['дней'],
- 12 => ['веселых','весёлых','виселых']
- ];*/
- /*$line = [
- 0 => ['Кабы','Ка бы','Если','Еслиб','Если б'],
- 1 => ['Небыло','не Было','неБыло','не было'],
- 2 => ['Зимы','зимы'],
- 3 => ['Вгородах','вГородах','в Городах','вгородах','в городах'],
- 4 => ['и','И'],
- 5 => ['Селах','селах'],
- 6 => ['Никогда','ниКогда','ни Когда','никогда','ни когда'],
- 7 => ['б','Б','бы','Бы'],
- 8 => ['Незнали','неЗнали','не Знали','незнали','не знали'],
- 9 => ['мы','Мы'],
- //10 => ['Этих','этих'],
- //11 => ['Дней','дней'],
- //12 => ['Веселых','веселых']
- ];
- $line = [
- 0 => ['Кабы','Ка бы','Если','Еслиб','Если б'],
- 1 => ['Небыло','не Было','неБыло','не было'],
- 2 => ['Зимы','зимы'],
- 3 => ['Вгородах','вГородах','в Городах','вгородах','в городах'],
- 4 => ['и','И'],
- 5 => ['Селах','селах'],
- 6 => [
- 'Никогда','ниКогда','ни Когда','никогда','ни когда',
- 'Никогда б','ниКогда б','ни Когда б','никогда б','ни когда б',
- 'Никогдаб','ниКогдаб','ни Когдаб','никогдаб','ни когдаб'],
- 7 => ['Незнали','неЗнали','не Знали','незнали','не знали'],
- 8 => ['мы','Мы'],
- //9 => ['Этих','этих'],
- //10 => ['Дней','дней'],
- //11 => ['Веселых','веселых']
- ];
- $line = [
- 0 => [
- 'Вотбы','Вот бы',
- 'Кабы','Ка бы',
- 'Как бы','Какбы',
- 'Если','Еслиб','Если б',
- 'Еслибы','Если бы'
- ],
- 1 => [
- 'Небыло','не Было','неБыло',
- 'Небыла','не Была','неБыла'
- ],
- 2 => ['Зимы','Земы'],
- 3 => [
- 'Вгородах','в Городах',
- 'Вгорадах','в Горадах'
- ],
- 4 => ['и'],
- 5 => ['Селах','Сёлах'],
- 6 => [
- 'Никогда','ни Когда',
- 'Никогда б','ни Когда б',
- 'Никогдаб','ни Когдаб',
- 'Некогда','не Когда',
- 'Некогда б','не Когда б',
- 'Некогдаб','не Когдаб',
- 'Никагда','ни Кагда',
- 'Никагда б','ни Кагда б',
- 'Никагдаб','ни Кагдаб',
- 'Некагда','не Кагда',
- 'Некагда б','не Кагда б',
- 'Некагдаб','не Кагдаб'
- ],
- 7 => [
- 'Незнали','не Знали',
- 'Низнали','ни Знали'
- ],
- 8 => ['Мы','МЫ'],
- 9 => ['Этих','Этех'],
- 10 => ['Дней'],
- 11 => [
- 'Веселых','Весёлых',
- 'Виселых','Висёлых'
- ],
- 12 => ['не']
- ];
- */
- $line = [
- 0 => [
- 'Кабы','Ка бы','Еслиб','Если б','Вотбы','Вот бы'
- /*,'Как бы','Какбы','кабы','ка бы','еслиб','если б','еслеб','есле б','вотбы','вот бы','как бы','какбы'*/
- ],
- 1 => [
- 'не Было','Небыло','ни Было','Нибыло'
- ],
- 2 => ['Зимы','Земы'],
- 3 => [
- 'в Городах','Вгородах','в Горадах','Вгорадах'
- ],
- 4 => ['и','И'],
- 5 => ['Селах','Сёлах'],
- 6 => [
- 'Никогдаб','ни Когдаб','Никогда б','ни Когда б','Ни Когдаб','Ни Когда б',
- 'Некогдаб','не Когдаб','Некогда б','не Когда б','Не Когдаб','Не Когда б'
- ],
- 7 => [
- 'Незнали','Не Знали','не Знали',
- 'Низнали','Ни Знали','ни Знали'
- ],
- 8 => ['Мы','мы'],
- 9 => ['Этих','Этех'],
- 10 => ['Дней'],
- 11 => ['Веселых']
- ];
- $spec = [
- '!','@','#','$','%','^','&','*','(',')','_','+'
- ];
- function appendSpec($line) {
- global $spec;
- if(strlen($line) < 64) {
- for($i = 0; $i < 65 - strlen($line); $i++) {
- $line .= $spec[$i];
- }
- }
- return $line;
- }
- function fillArr(&$arr,$key) {
- global $line;
- if(empty($arr)) {
- $arr = $line[0];
- }
- $promarr = [];
- for($i = 0; $i < count($arr); $i++) {
- $word = $arr[$i];
- for ($k = 0; $k < count($line[$key]); $k++) {
- $promarr[] = $word.' '.$line[$key][$k];
- }
- }
- $arr = $promarr;
- $key++;
- if($key < count($line)) {
- fillArr($arr,$key);
- }
- }
- function findPos($arr,$find) {
- for($i = 0; $i < count($arr); $i++) {
- if((is_array($find) && in_array($arr[$i],$find)) || $arr[$i] === $find) {
- return $i;
- }
- }
- }
- $arr = [];
- var_dump('phase1');
- fillArr($arr,1);
- $c = 1;
- foreach ($line as $l) {
- $c *= count($l);
- }
- //$strokes = implode("\n",$arr);
- var_dump($c);
- $pos = [];
- for($i = 0; $i < count($line) - 1; $i++) {
- $pos[] = $i;
- }
- $strokes = [];
- $delimeters = ['_'/*,' ','-'*/];
- var_dump('phase2');
- foreach ($arr as $res) {
- $strokes[] = $res;
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].', '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'. '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'б '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'ю '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Б '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Ю '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- */
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].','.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- */
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'.'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'б'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'ю'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Б'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Ю'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = $r;*/
- foreach ($delimeters as $del) {
- $r = $res;
- /*$d = explode(' ',$r);
- $r = implode(' ', $d);
- $strokes[] = $res;*/
- $strokes[] = str_replace(' ',$del,$r);
- //$strokes[] = implode($del, $d);
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].','.$del.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- */
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'.'.$del.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'б'.$del.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'ю'.$del.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Б'.$del.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Ю'.$del.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- */
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].' , '.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- */
- /*
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'.'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'б'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'ю'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Б'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);
- $r = $res;
- $d = explode(' ',$r);
- $p = findPos($d,$line[5]);
- $d[$p] = $d[$p].'Ю'.$d[$p+1];
- unset($d[$p+1]);
- $r = implode(' ', $d);
- $strokes[] = str_replace(' ',$del,$r);
- $strokes[] = implode($del, $d);*/
- }
- }
- var_dump('phase3');
- $s_res = [];
- $k = 0;
- $c_strokes = count($strokes);
- for($i = 0; $i < $c_strokes; $i++) {
- $k++;
- $stroke = $strokes[$i];
- unset($strokes[$i]);
- $stroke = replaceAlpha($stroke);
- if(strlen($stroke) > 64) {
- $stroke = substr($stroke, 0, 64);
- }
- $s_res[] = $stroke;
- // $s_res[] = appendSpec($stroke);
- // $s_res[] = $stroke.'.';
- // $s_res[] = $stroke.'!';
- // $s_res[] = $stroke.'!!';
- // $s_res[] = $stroke.'!!!';
- if($k >= 100000) {
- $k = 0;
- $s_res = array_unique($s_res);
- }
- $s_res[] = rtrim($stroke);
- //$s_res[] = appendSpec(rtrim($stroke));
- foreach ($delimeters as $del) {
- $s_res[] = rtrim($stroke,$del);
- //$s_res[] = appendSpec(rtrim($stroke,$del));
- }
- }
- var_dump('phase4');
- $k = 0;
- $s_res2 = [];
- foreach ($s_res as $s) {
- $k++;
- $s_res2[] = substr($s,0,64);
- if($k >= 100000) {
- $k = 0;
- $s_res2 = array_unique($s_res2);
- }
- }
- $s_res2 = array_unique($s_res2);
- file_put_contents('script\passwords.lst',implode("\n",$s_res2));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement