T0DIGITAL Telegram 949
Задался тут вопросом генерации паролей, чтобы найти способ быстро и безопасно генерировать хорошие пароли в консоли с какой-то open source тулзой.

Для хранения паролей я использую pass, он умеет генерировать пароли, но только сразу сохраняя их в хранилище (pass generate Email/[email protected] 20 создаст и сохранит пароль на 20 символов). А иногда я не хочу сохранять их в хранилище так, как делает это pass — например, потому что в одной записи pass у меня часто хранится не только пароль, но и другие данные к этому сервису, например, логин, и я не хочу перезаписывать всю запись новым сгенерированным паролем.

Получается, надо сгенерировать пароль где-то еще.

Есть возможность генерировать с openssl в духе openssl rand -base64 20, но тогда в пароле нет спец символов, а это нехорошо.

Есть опенсорсный pwgen, который умеет генерировать пароли и ставит своей задачей генерировать запоминаемые пароли. Запоминаемые пароли мне не нужны и pwgen умеет генерировать и такие:

pwgen -sy 20 1


-s означает секьюрненько, то есть без запар с лёгкостью запоминания, рандомно. -y означает со спец символами. 20 означает количество символов в пароле. 1 означает количество паролей для генерации.

Ляпота!

Но в целом, разумеется, bash & *nix великолепны и можно прийти к успеху и без внешних утилит:

LC_ALL=C tr -dc 'A-Za-z0-9@#%^&*()_+=-{}[]:;<>,.?/' \
< /dev/urandom | head -c 20 | xargs echo


Что тут происходит? Устанавливается локаль в С для корректной работы с символами в разных условиях, затем на вход tr передаются случайные байты из /dev/urandom, утилита tr с флагом -d удаляет указанные символы, флаг инвертирует выбор, то есть в потоке байт удалится всё кроме указанных символов (то есть удалится всё, кроме a-z, цифр и спец символов), затем head берёт первые 20 символов полученной строки, и мы выводим эту строку с echo, чтобы нормально отобразился перенос строки в конце сгенерированного пароля.

Можно сохранить эту команду в быстрый запуск, скажем, в alias:)

echo "alias pwgen=\"LC_ALL=C tr -dc 'A-Za-z0-9@#%^&*()_+=-{}[]:;<>,.?/' \
< /dev/urandom | head -c 20 | xargs echo\"" >> ~/.zshrc


PS. Заменить первую строку в записи pass новым сгенерированным паролем, оказывается, можно так:

pass generate -i Email/[email protected] 20



tgoop.com/t0digital/949
Create:
Last Update:

Задался тут вопросом генерации паролей, чтобы найти способ быстро и безопасно генерировать хорошие пароли в консоли с какой-то open source тулзой.

Для хранения паролей я использую pass, он умеет генерировать пароли, но только сразу сохраняя их в хранилище (pass generate Email/[email protected] 20 создаст и сохранит пароль на 20 символов). А иногда я не хочу сохранять их в хранилище так, как делает это pass — например, потому что в одной записи pass у меня часто хранится не только пароль, но и другие данные к этому сервису, например, логин, и я не хочу перезаписывать всю запись новым сгенерированным паролем.

Получается, надо сгенерировать пароль где-то еще.

Есть возможность генерировать с openssl в духе openssl rand -base64 20, но тогда в пароле нет спец символов, а это нехорошо.

Есть опенсорсный pwgen, который умеет генерировать пароли и ставит своей задачей генерировать запоминаемые пароли. Запоминаемые пароли мне не нужны и pwgen умеет генерировать и такие:

pwgen -sy 20 1


-s означает секьюрненько, то есть без запар с лёгкостью запоминания, рандомно. -y означает со спец символами. 20 означает количество символов в пароле. 1 означает количество паролей для генерации.

Ляпота!

Но в целом, разумеется, bash & *nix великолепны и можно прийти к успеху и без внешних утилит:

LC_ALL=C tr -dc 'A-Za-z0-9@#%^&*()_+=-{}[]:;<>,.?/' \
< /dev/urandom | head -c 20 | xargs echo


Что тут происходит? Устанавливается локаль в С для корректной работы с символами в разных условиях, затем на вход tr передаются случайные байты из /dev/urandom, утилита tr с флагом -d удаляет указанные символы, флаг инвертирует выбор, то есть в потоке байт удалится всё кроме указанных символов (то есть удалится всё, кроме a-z, цифр и спец символов), затем head берёт первые 20 символов полученной строки, и мы выводим эту строку с echo, чтобы нормально отобразился перенос строки в конце сгенерированного пароля.

Можно сохранить эту команду в быстрый запуск, скажем, в alias:)

echo "alias pwgen=\"LC_ALL=C tr -dc 'A-Za-z0-9@#%^&*()_+=-{}[]:;<>,.?/' \
< /dev/urandom | head -c 20 | xargs echo\"" >> ~/.zshrc


PS. Заменить первую строку в записи pass новым сгенерированным паролем, оказывается, можно так:

pass generate -i Email/[email protected] 20

BY Диджитализируй!


Share with your friend now:
tgoop.com/t0digital/949

View MORE
Open in Telegram


Telegram News

Date: |

Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation. To delete a channel with over 1,000 subscribers, you need to contact user support Click “Save” ; Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations.
from us


Telegram Диджитализируй!
FROM American