November 30, 2020

Генерация паролей в терминале

Мы будем использовать регулярные выражения и подстановку. Пока мы будем выводить на экран, а затем уже создадим словарь.

Предположим мы хотим создать пароль из даты и какой-то буквы. Для этого мы вводим в терминале следующее:

$ echo {01..15}{1997..2000}{a..c}

На экран нам вывелась вся информация о созданных паролях.

Но мы хотим не только маленькие буквы, а ещё и большие. И это нам ничего не мешает сделать, всего лишь немного изменив команду:

$ echo {01..15}{1997..2000}{{a..c},{A..C}}

Теперь нам надо сделать так, чтобы каждый пароль был на новой строке. Для этого нам надо ввести пару ключей:

$ echo -e {01..15}{1997..2000}{{a..c},{A..C}}\\n

Как видим, мы получили желаемый результат. Но это ещё не всё. Нам надо ещё удалить пробелы и последнюю строку. Давайте сделаем это так:

$ echo -e {01..15}{1997..2000}{{a..c},{A..C}}\\n | tr -d " " | head -n -1

Кстати, посмотреть количество строк можно, добавив в конец команды wc -l:

$ echo -e {01..15}{1997..2000}{{a..c},{A..C}}\\n | wc -l

Ну и давайте запишем всё это в файл

$ echo -e {01..15}{1997..2000}{{a..c},{A..C}}\\n | tr -d " " | head -n -1 >> pass.txt

А ещё многие люди ищут утилиты для генерации рандомных паролей. Зачем что-то искать, если это можно сделать средствами самого линукс.

Например мы хотим сгенерить 12 рандомных паролей, для этого воспользуемся следующей командой:

$ base64 -w 12 /dev/urandom | head

Таким образом, используя встроенные утилиты линукса мы можем генерировать словари и рандомные пароли.