Современные средства взлома паролей способны перебирать миллионы комбинаций в секунду. Поэтому создание надёжного пароля становится жизненной необходимостью. Для этой цели можно воспользоваться специальными сайтами для генерации паролей, но никто не обещает что полученные наборы цифр будут "случайными".
Может получится и так, что сайты с генераторами паролей выдают заготовленные наборы паролей. Поэтому лучше иметь свой генератор паролей.
В командной строке Linux легко сгенерировать случайный набор символов из заданного множества. Делается это такой командой:
</dev/urandom tr -dc '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(){}_!@#$%^*=+-;:?&<>/.,|' | head -c20; echo ""
Эта команда выдаёт случайный набор из 20 символов, содержащий '123 ... |'. Результат выполнения выглядит примерно так:
G&A:8_4TkT*@M$bZduhD
{p{32/%HM<B*/s6_z-Te
r3dDi((Kwu<duZV;!+Vt
{@Quo/NjS$2+AN%.H;la
Что вполне можно назвать "хорошим" паролем. Но не стоит забывать, что генератор случайных чисел в компьютере выдаёт псевдослучайные значения. И наверняка его создатели не заморачивались, чтобы создать равномерное распределение случайных чисел. Поэтому измените хотя бы один символ в полученном результате, чтобы строка стала "более случайной".
Некоторые сервисы могут не воспринимать символы "(){}_!@#$%^*=+-;:?&<>/.,|" в пароле. Удалите некоторые символы из команды, чтобы сгенерировать пароль без них.
Разбор команды
Рассмотрим подробнее введённую команду. Слева направо:
</dev/urandom - выдаёт результат работы генератора псевдослучайных чисел
tr - команда, которая заменяет или удаляет символы из строки. Ключ "-d" в используется для удаления символов, которые указаны далее. Ключ "-с" по сути инвертирует смысл ключа "-d", удаляя всё, кроме указанных символов.
| - вертикальная черта. Это тоже команда. Она говорит что вывод из команды слева от неё надо передать на вход команде справа от неё
head - команды выводит начало строки. Ключом "-с" задаётся количество байт, которые надо вывести. В нашем случае 20.
; - точка с запятой. Позволяет разделить несколько команд в одной строке
echo "" - переносит курсор на следующую строку