m moji kit v1.0.9
***
生成

パスワード生成

crypto.getRandomValues() による乱数で、4〜128 文字のパスワードを生成します。小文字 / 大文字 / 数字 / 記号の組合せ、紛らわしい文字 (0Ol1I) の除外、まとめて生成、エントロピー表示に対応。

こんなときに使う

新規アカウントの初期パスワードを発行する

ユーザー作成時の一時パスワードや、サービス間連携用の API シークレット相当を生成します。発行後はパスワードマネージャーに保存しましょう。

DB / Redis / RabbitMQ などのサーバ間認証パスワード

人が入力しないバックエンド連携用は記号込みで長め(32 文字以上)を推奨します。.env や Secret Manager に保存します。

WiFi の SSID 用パスワード(PSK)

WPA2/3 では 8〜63 文字。記号を使えるルーターなら長めにすることで辞書攻撃を抑えられます。

ローテーションが定期的に必要な共有パスワード

監査要件などでパスワードを定期的に更新する必要があるときの新規発行に。複数本生成して候補から選ぶ運用も可能。

パスフレーズ風に複数本生成して人に伝える

20 個生成して目視で覚えやすいものを選ぶ、という使い方。覚えにくい場合は素直に passphrase 系(ダイスウェア)を別途検討。

サービスのデモアカウント用

公開デモ用に毎回違うパスワードを使いたいときに。漏れてもデモ用として割り切る運用前提です。

CLI / 他言語でやる方法

openssl
openssl rand -base64 24

Base64 で 24 バイト ≒ 32 文字。-hex で 16 進。

pwgen
pwgen -s 20 1

-s で記号もシャッフル、-y で記号許可。Linux で広く使われる。

Python (secrets)
python -c "import secrets, string; print(''.join(secrets.choice(string.ascii_letters+string.digits) for _ in range(20)))"

secrets モジュールが暗号学的乱数。random は使わないこと。

よくある質問

暗号学的に安全な乱数ですか?
crypto.getRandomValues() を使っており、これはブラウザの暗号学的擬似乱数生成器(CSPRNG)です。Math.random() は予測可能なので使っていません。
エントロピーとは何ですか?どのくらいあれば安全?
ビット数で表される推測しにくさの目安です。本ツールでは生成時に表示します。一般用途なら 80 bit 以上、サービス間認証なら 128 bit 以上が推奨されます。
「紛らわしい文字を除外」の対象は?
0(数字)と O(大文字オー)、1(数字)と l(小文字エル)、I(大文字アイ)です。手書きや音声で伝えるときの取り違えを防げます。
記号は何が含まれますか?
!@#$%^&*()-_=+[]{};:,.<>/?~ です。サービスによっては許可されない記号(クォート / バックスラッシュ等)は意図的に除外しています。
サービス側のパスワード要件(記号必須など)に対応していますか?
本ツールは「選択した文字種から無作為」抽出のみで、必須文字種を保証する機能はありません。生成されたパスワードに足りない種があれば、再生成するか手動で 1 文字差し替えてください。
サーバーに送信されますか?
送信されません。生成・表示・コピーはすべてブラウザ内で完結します。
ブラウザ履歴やフォームに残りますか?
本ツールは入力フィールドに記録しません。コピー後は表示画面から離れてください。シークレットウィンドウの利用も検討してください。
覚えやすい長いパスフレーズを作る用途には?
本ツールは記号入りランダム文字列に特化しています。ダイスウェア式(ランダムな単語 4〜6 個)の方が覚えやすい場合は、別途専用ツール(pwgen --secure / diceware-cli 等)を検討してください。

もっと深く知る

公式ドキュメント / 仕様

※ Amazon へのリンクはアフィリエイトリンク(Amazon アソシエイト)を含みます。

関連ツール