UUID/ULID・パスワード生成
UUID(v4・v7)とULIDを最大1,000個まで一括生成し、長さ・文字種を指定して安全なパスワードを作成できるツールです。乱数には暗号論的に安全なcrypto.getRandomValuesを使用し、すべてブラウザ内で生成されます。
122ビットのランダム値からなる、最も一般的なUUIDです。
1〜1000個まで一括生成できます。
使い方
- 「UUID」「ULID」「パスワード」のタブから、生成したいものを選びます。
- UUIDではバージョン(v4/v7)を、パスワードでは文字数と使用する文字の種類を指定します。生成する個数や大文字・ハイフンの有無も変更できます。
- 設定を変えると自動的に生成し直されます。同じ設定のまま別の値がほしいときは「再生成」を押します。
- 「クリップボードへコピー」または「テキストで保存」で、生成結果をまとめて利用できます。
このツールについて
UUID(Universally Unique Identifier)は、データベースのレコードやAPIのリソースなどを一意に識別するための128ビットのIDです。v4はほぼすべてがランダム値で構成され、v7は先頭に生成時刻を含むため時刻順に並びます。ULIDも同様に時刻を先頭に持つ26文字のIDで、URLに使いやすい大文字英数字(Crockford Base32)で表現されます。
v7とULIDは、インデックスの局所性が高くデータベースの主キーとして性能面で有利です。このツールでは、同じミリ秒内で大量に生成した場合でもカウンターを使って生成順を保証しています。v7ではRFC 9562の方式に従い、時刻の直後の12ビットをカウンターとして使用しています。
パスワードは、選択した文字種からそれぞれ最低1文字を含むように生成し、文字の選択には剰余による偏りが生じない方法(棄却法)を使っています。表示される強度は文字数と文字の種類から求めた理論上のエントロピー(ビット数)の目安です。UUID・ULID・パスワードのいずれも、Math.randomではなくcrypto.getRandomValuesで生成しています。
よくある質問
UUID v4とv7はどちらを使えばよいですか?
推測されにくいランダムなIDが必要な場合はv4、データベースの主キーなど生成順に並んでほしい場合はv7が適しています。v7は生成時刻がIDから読み取れる点に注意してください。
生成したUUIDが重複することはありませんか?
v4は122ビットのランダム値を持つため、現実的に重複する可能性は無視できるほど小さくなります。v7とULIDも時刻に加えて十分な長さのランダム値を含み、同じミリ秒内ではカウンターで区別しています。
どのくらいの強度のパスワードにすればよいですか?
一般的なWebサービスでは、英大小文字・数字・記号を含む16文字以上(約100ビット)が目安です。パスワードマネージャーを使い、サービスごとに異なるパスワードを設定することをおすすめします。
生成したパスワードはどこかに保存・送信されますか?
保存も送信もされません。生成はブラウザ内でのみ行われ、ページを閉じると消えます。