任意の文字列(パスワード、ユーザー名など)を生成したいと思います。希望の長さ(13文字など)を指定できる必要があります。
どのツールを使用できますか?
(セキュリティとプライバシーのために、ウェブサイトでオンラインで文字列を生成するのではなく、オフラインで文字列を生成する方がよいでしょう。)
ベストアンサー1
私の好きな方法は、望ましくない文字を使用し/dev/urandom
てtr
削除することです。たとえば、数字と文字のみを取得するには:
tr -dc A-Za-z0-9 </dev/urandom | head -c 13; echo
または、含むより多くのキャラクターOWASPパスワード特殊文字リスト:
tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | head -c 13; echo
tr
入力について不満がある場合、追加してみてくださいLC_ALL=C
このように:
LC_ALL=C tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | head -c 13; echo
tr
より読みやすいグラフィック文字クラスもあります。これをC
ロケールに制限すると、上記の明示的な文字リストと同じタイプの出力が生成されます。
LC_ALL=C tr -dc '[:graph:]' </dev/urandom | head -c 13; echo