Время от времени приходится менять пароли. Все знают, что хороший пароль должен включать большие и малые латинские буквы, цифры и специальные символы. При этом они не должны быть слишком короткими. И каждый раз придумывать их все труднее и труднее, особенно если использовать разные пароли на разных сервисах. Можно для этого использовать, например, программу pwgen или генератор, встроенный в keepassx. А можно написать простой генератор паролей на bash.
Используемые символы
Будем использовать следующие символы: Большие и малые буквы латинского алфавита (A-Z и a-z), цифры (0-9) и символы
!@#$%^&*()?/\[]{}-+_=<>.,
Такое сочетание обеспечит максимальную надежность.
Длина пароля
Длина пароля будет 16 символов. Если вам нужен более короткий пароль, то вы можете указать меньшую длину в скрипте, либо добавить опцию командной строки.
Скрипт-генератор паролей на bash
Самое первое, что нам необходимо - это переменная, содержащая все символы, которые мы будем использовать. Также нужна будет переменная, содержащая длину пароля и переменная для хранения самого пароля.
#!/bin/bash
SYMBOLS=""
for symbol in {A..Z} {a..z} {0..9}; do SYMBOLS=$SYMBOLS$symbol; done
SYMBOLS=$SYMBOLS'!@#$%&*()?/\[]{}-+_=<>.,'
# Строка со всеми символами создана.
# Теперь нам надо в цикле с количеством итераций равным длине пароля
# случайным образом взять один символ и добавить его в строку, содержащую пароль.
PWD_LENGTH=16 # длина пароля
PASSWORD="" # переменная для хранения пароля
RANDOM=256 # инициализация генератора случайных чисел
for i in `seq 1 $PWD_LENGTH`
do
PASSWORD=$PASSWORD${SYMBOLS:$(expr $RANDOM % ${#SYMBOLS}):1}
done
echo $PASSWORD
Вот и всё. Это весь скрипт. И с его помощью мы можем получить пароль, который удовлетворяет всем распространенным требованиям безопасности. Осталась только одна проблема - запомнить его.