Бортовой журнал Ктулху

10 способов сгенерировать пароль в Linux

Linux - очень продуманная система, он умеет практически все что нужно в повседневной жизни, сгенерировать пароль например. Причем, не нужно ставить какие-то пакеты, все что нужно уже есть в системе.

 

2020 03 04 15 44 241

Например, можно взять текущую дату, получить из нее SHA отпечаток и преобразовать в строку base64, отделив от нее 32 символа:

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

Также, можно использовать встроенное "устройство" /dev/urandom:

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

Использовать openssl в качестве источника случайных данных:

~$ openssl rand -base64 32

При помощи /dev/urandom и Bash:

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

При помощи команды strings и предыдущей строки:

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

Более простой вариант использования /dev/urandom:

~$ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c48

Годный вариант использования /dev/urandom и /dev/null. Где-то тут начинает расти борода и проступать свитер:

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

Вариация предыдущих вариантов (звучит то как))). Указывается диапазон используемых символов:

~$ </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c48; echo ""

Спартанский вариант:

~$ date | md5sum

Еще один неплохой способ заключается в использовании функции, которая, будучи вызвана впервые целиком, после будет вызываться по названию.

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

После первого вызова:

~$ randpw

2020 03 04 16 07 371

Отсюда