Результаты более отвратительны, чем apg или pwgen (даже с установленным -s
параметром), но это веселее:
head -c 8192 /dev/urandom | strings --bytes 8 | sed 's/\s//'
Я подозреваю, что ваш вариант использования отличается, но этот тип полезен для общих секретных ключей и других типов паролей, которые вы не вводите очень часто.
Чтобы получить больший выбор, передать больше байтов head
и получить более длинные строки результата пароля, измените --bytes
в strings
(что дает минимальную длину). sed
выражение удаляет удаляет пробелы и вкладки (представленных \s
).
Однако в какой-то момент вы, вероятно, по достоинству оцените приложения (такие как pwgen, KeePassX или LastPass), которые дают вам возможность избежать легко путаемых символов, таких как 1
и l
и I
. Они могут выглядеть как 1 1Il
или 11 или хуже. Вы можете использовать опцию, подобную этой, если вы сбрасываете чей-то пароль или даете одноразовый пароль, который необходимо передать.
Стил, pwgen
put дает это предостережение в его man-странице, описывая его -B
вариант:
-B, --ambiguous
Don't use characters that could be confused by the user when
printed, such as 'l' and '1', or '0' or 'O'. This reduces the
number of possible passwords significantly, and as such reduces
the quality of the passwords. It may be useful for users who
have bad vision, but in general use of this option is not recom‐
mended.
Это безумие, конечно. Вы, наверное, знаете, когда это полезно или нет. И это, безусловно, лучше, чем использовать «Pa $$ w0rD» для всего. Если вы сомневаетесь, создайте более длинный пароль или передайте сгенерированный пароль в качестве входных данных другому генератору или используйте многофакторную аутентификацию.
'echo "random" | md5sum'
:)