どのUUIDバージョンを使用すればよいですか? 質問する

どのUUIDバージョンを使用すればよいですか? 質問する

どのバージョンの UUID を使用すればよいですか? 各バージョンの内容を説明するスレッドをたくさん見ましたが、どのアプリケーションに何が最適かを判断するのに苦労しています。

ベストアンサー1

UUID を生成するには 2 つの方法があります。

一意の ID だけが必要な場合は、バージョン 1 またはバージョン 4 が必要です。

  • バージョン 1: これは、ネットワーク カードの MAC アドレスと現在の時刻に基づいて一意の ID を生成します。これらのいずれかが何らかの形で機密情報である場合は、これを使用しないでください。このバージョンの利点は、信頼するマシンによって生成された UUID のリストを確認するときに、多くの UUID が同じマシンによって生成されたかどうかを簡単に確認したり、それらの間の時間関係を推測したりできることです。

  • バージョン 4: これらはランダムな (または疑似ランダムな) 数値から生成されます。UUID を生成するだけであれば、おそらくこれが適しています。このバージョンの利点は、デバッグ時に UUID と一致する情報の長いリストを確認するときに、一致をより早く見つけられることです。

指定された名前から再現可能な UUID を生成する必要がある場合は、バージョン 3 またはバージョン 5 が必要です。他のシステムとやり取りする場合、この選択はすでに行われているので、それらのシステムが使用するバージョンと名前空間を確認する必要があります。

  • バージョン 3: 名前空間と名前の MD5 ハッシュから一意の ID を生成します。非常に厳しいリソース要件 (非常にビジーな Arduino ボードなど)を扱う場合は、これを使用します。

  • バージョン 5: 名前空間と名前の SHA-1 ハッシュから一意の ID を生成します。これはより安全で、一般的に推奨されるバージョンです。

おすすめ記事