Мы собрали все эти команды из Command-Line Fu и протестировали их на нашем Linux-ПК, чтобы убедиться, что они работают. Вы должны иметь возможность использовать хотя бы некоторые из них в Windows с установленной Cygwin, хотя мы не тестировали их все, но последняя определенно работает.
Создание случайного пароля
Для любой из этих случайных команд паролей вы можете либо модифицировать их для вывода другой длины пароля, либо просто использовать первые х символов сгенерированного пароля, если вы не хотите использовать такой длинный пароль. Надеюсь, вы все равно используете менеджер паролей, такой как LastPass, поэтому вам не нужно их запоминать.
Этот метод использует 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;
В этом случае используется функция rands openssl, которая не может быть установлена в вашей системе. Хорошо, что есть много других примеров, верно?
openssl rand -base64 32
Этот работает очень похож на другой урандовый, но просто работает в обратном порядке. Баш очень мощный!
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
Вот еще один пример, который фильтрует команду strings, которая выводит печатаемые строки из файла, который в этом случае является функцией urandom.
strings /dev/urandom | grep -o '[:alnum:]' | head -n 30 | tr -d '
'; 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;}
Вы можете использовать тот же синтаксис, чтобы сделать любой из них в функции - просто замените все внутри {}
И вот самый простой способ сделать пароль из командной строки, который работает в Linux, Windows с Cygwin и, возможно, Mac OS X. Я уверен, что некоторые люди будут жаловаться, что это не так случайно, как некоторые другие параметры, но, честно говоря, это достаточно случайный случай, если вы собираетесь использовать все это.
date | md5sum
Да, это даже достаточно легко запомнить.
Существует множество других способов создания случайного пароля из командной строки в Linux, например, команды mkpasswd, которая может фактически назначить пароль учетной записи пользователя Linux. Итак, каков ваш любимый способ?