Привет, %username%
! Довольно не редко приходится придумывать себе и/или кому-то пароль и далеко не всегда есть под рукой менеджер паролей с функцией генератора паролей. Рассмотрим несколько способов генерации паролей прямо в CLI
- мне так очень удобно.
Для начала используем алгоритм 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
, с помощью которой выполняется обратная операция. Bash является очень мощным инструментом!
tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1
Вот еще один пример, использующий фильтры в командной строке; в нем строки берутся из файла, который в данном случае создается с помощью функции 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 -c32; echo
В следующем примере применяется очень полезная команда dd
. Только будь с ней осторожен!
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
Если хочется постоянно пользоваться одним из этих методов, то лучше всего оформить его в виде функции. В этом случае, как только вы один раз выполните следующую команду, вы сможете в любой момент с помощью команды getpwd
создать случайный пароль. Вы, вероятно, захотите, записать эту команду в виде файла ~/.bashrc
.
getpwd(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
На десерт самый простой способ сгенерировать пароль в командной строке, который работает в Linux, в Windows с Cygwin, и, вероятно, в Mac OS X. Я уверен, что некоторые скажут, что это не столь случайный пароль, как в других вариантах, но, честно говоря, подобной «случайности» вполне достаточно в случае, если вы собираетесь использовать пароль целиком.
date | md5sum
Да, эту команду даже достаточно легко запомнить, но еще лучше ее модифицировать самую малость:
date | md5sum | awk '{ print $1 }'
Есть множество других способов, с помощью которых вы можете в командной строке Linux создать пароль случайным образом, например, с помощью команды mkpasswd
, с помощью которой можно, в действительности, назначать пароль учетной записи пользователя Linux.
Если у тебя есть вопросы, комментарии и/или замечания – заходи в чат, а так же подписывайся на канал.