UUID / ULID 生成
UUID v4、時刻順に並ぶUUID v7、ULID、短いランダムIDをまとめて生成します。個数・ハイフンの有無・大文字小文字を指定してリストごとコピーできます。
必要なときに一意の識別子を生成できます。UUID v4(ランダム)、UUID v7(時刻順)、ULID、短いランダムIDに対応しています。バージョンと個数を選び、その一覧をコード、テストデータ、データベースにそのままコピーしてください。
選択は重要です。v4は主キーとして安全な既定の選択ですが、v7とULIDは先頭がタイムスタンプなので、新しい行が近い位置に挿入されてデータベースのインデックスが効率的に保たれます。標準の識別子ではなく不透明なトークンだけが必要な場合は、短いランダムIDを使ってください。
UUIDまたはULIDを生成する方法
識別子の種類を選びます
必要な個数を設定します
一覧をコピーします
よくある質問
UUID v4とv7の違いは何ですか?
バージョン4は完全にランダムです。バージョン7は先頭にミリ秒のタイムスタンプを置くため、識別子が作成時刻順に並びます。データベースのインデックスの局所性に優れ、それでいて世界で一意です。
ULIDとは何ですか?
Crockford Base32を使った26文字の識別子で、48ビットのタイムスタンプと80ビットのランダム値で構成されます。辞書順に並べ替えられるため、ログやファイル名で役立ちます。
これらの識別子は本当に一意ですか?
暗号学的に安全な乱数源から生成されます。v4が衝突する確率は天文学的に小さいため、実用上は一意と考えて問題ありません。
データベースのキーとして使うべきですか?
安全に使えますが、ランダムなv4のキーはインデックス全体に挿入を散らばせます。挿入性能が重要なら、時刻順に並ぶv7またはULIDをおすすめします。
一度にたくさん生成できますか?
はい。個数を設定して一覧をまとめてコピーできます。テストデータの投入に便利です。
サーバーに何か送信されますか?
いいえ。識別子はブラウザ内で生成されます。
概要
| 入力 | テキスト |
|---|---|
| 複数ファイル | いいえ |
| 実行場所 | ブラウザ内で実行 - ファイルはアップロードされません |
| オフラインでも動作 | はい — ページを読み込んだ後 |
| 料金 | 無料・登録不要・透かしなし |
機密情報を安全に扱う
開発者向けツールは、人が思っている以上に頻繁に認証情報を扱います。危険なのはアルゴリズムではなく、データがどこへ行くかです。ハッシュ化は一方向であり、暗号化ではありません。MD5とSHA-1はセキュリティに関わる用途ではすでに破綻しており、パスワードの保存にはSHA-256さえ適切な道具ではありません。bcrypt、scrypt、Argon2は、まさに遅くなるために存在しています。Base64はエンコードであって保護ではありません。誰でもデコードできるので、難読化として扱ってはいけません。JWTは持っている人なら誰でも中身を読めるため、ペイロードに秘密情報を入れてはいけません。また、トークンをデコードしても署名は検証されません。検証には鍵が必要です。このサイトのすべてはブラウザ内でローカルに動作するため、トークンやパスワードを安全に扱えるのです。
変換が静かに壊れるところ
変換のバグの多くは構文ではなく意味の問題です。郵便番号のCSV列は、表計算ソフトが数値だと推測した瞬間に先頭のゼロを失います。長いIDは浮動小数点の精度を超えてしまいます。日付は、日が先か月が先かによって意味が変わります。JSONのキーには順序がありませんが、配列にはあります。キーを並べ替えるツールは何も変えませんが、配列を並べ替えるツールはデータを変えてしまいます。Unicodeも落とし穴です。テキストはUTF-8やUTF-16、あるいはBOM付きで届くことがあり、推測を誤ったデコーダーはアクセント付きの文字を文字化けに変えてしまいます。変換を信用する前に、最初と最後の行、先頭にゼロがあるフィールド、引用符・カンマ・改行を含むフィールドを抜き取り検査してください。