Создание ключа WPA/WPA2 в linux bash?
Как я могу сгенерировать новый случайный ключ wpa/wap2 в терминале linux? Я попытался pwgen, но это не генерирует шестнадцатеричные значения.
2 ответа
Например, если вы хотите пароль с максимальной длиной символа, т. Е. 63, вы можете ввести одну из следующих 2 команд:
makepasswd --chars=63
openssl rand -base64 63
ОБНОВИТЬ:
Вот лучшая команда, которую я нашел для этой цели, так как я впервые написал этот ответ:
dd if=/dev/urandom bs=48 count=1 status=none | base64 | tr +/ -_
На самом деле я использую этот скрипт на основе zenity, чтобы время от времени генерировать такой пароль:
#!/bin/bash
RNDPWD="$(dd if=/dev/urandom bs=48 count=1 status=none | base64 | tr +/ -_)"
echo $RNDPWD | tr -d '\n' | xclip -i -selection clipboard
zenity --question --title="Random Password" --text="<i>Password Copied to Clipboard:</i>\n\n$RNDPWD\n\n<b>Would you like to generate another one?</b>" --width=500 --height=150
if [ $? = 0 ]
then
"~/.bin/Password-Generator-GUI"
fi
Чтобы сгенерировать наилучший из возможных паролей (с максимально возможной энтропией), необходимо использовать все печатные символы ASCII - от 32 (пробел) до 126 (тильда, ~). Это может быть заархивировано с помощью (например, максимальная длина пароля 63 символа):
< /dev/urandom tr -cd "[:print:]" | head -c 63; echo
Чтобы не включать пространство можно использовать [:graph:]
набор символов и есть также другие, описанные в tr
Manpage.