UUIDという文字の罗列を見たことがあるだろう。「550e8400-e29b-41d4-a716-446655440000」のようにハイフンで区切られた32桁の16进制数だ。これは一体何なのか。
UUIDとは
UUIDは「Universally Unique Identifier」の略で、世界で重複しないように作られた128ビットの识别子だ。理论上、兆を超える数を生成しても衝突(同じ値が出る现象)が起こらないと言われている。
フォーマットは「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx」という形で、xには16进制の文字が入る。全部で36文字(ハイフン含む)になる。
UUIDの版本
UUIDにはいくつかの種類(版本)がある。最も一般的なのはVersion 4で、完全にランダムな值から生成される。密码学的に安全かどうかは、実装に依存する。
Version 1はタイムスタンプとMACアドレスから生成され、Version 3と5はMD5/SHA-1ハッシュから生成される。Version 6は新しい版本で、タイムスタンプベースだが並べ替えられている。
ソフトウェアでの应用例
UUIDはデータベースの主キーとしてよく使われる。連番ではなくUUIDを使うことで、分散システムでもユニークなIDを保证できる。
WebサービスのAPIでも、リソースの识别子として多用されている。また、ゲームのセーブデータや设定ファイルのIDにも使われることが多い。
まとめ
UUIDは现代ソフトウェア开发において不可欠な存在だ。重複を気にせずユニークな识别子を作りたいときに、ぜひ活用하자。
UUID生成はぽっと索のUUID生成器で试试看。