Генерация случайных паролей / Linux консоль

Первый метод использует SHA для хеширования даты, «прогоняется» через base64, а затем отображаются первые 32 символа:

date +%s | sha256sum | base64 | head -c 32 ; echo

Этот метод использует встроенную возможность /dev/urandom и оставляет только те символы, которые обычно используются в паролях. Отображаются 32 символа.

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

Следующий метод использует функцию rand из openssl, котоырй может быть не установлен на вашей системе.

openssl rand -base64 32

Этот метод во многом схож с прошлым методом через urandom, но делает все наоборот:

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

Вот ещё один пример, который производит фильтрацию с помощью команды strings и отображает печатные символы из файла: в нашем случае это urandom:

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo

Вот ещё более простая версия метода через urandom:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

Этот метод использует очень полезную команду dd:

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

Если вы собираетесь использовать какую-нибудь команду все время, возможно, стоило бы поместить её в функцию. В данном случае, вы сможете использовать randpw все время, когда вы захотите сгенерировать новый пароль. Это нужно будет поместить в ваш файл ~/.bashrc:

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

Вы можете использовать тот же синтаксис, чтобы использовать любой из примеров как функцию — просто замените команду внутри символов { }.

И, наконец, вот самый простой способ создания пароля из командной строки. Это простая контрольная сумма MD5 от текущей даты:

date | md5sum

Автор: AugustuS Karro
Дата публикации: 2014-10-15T05:15:00.000+08:00