どのバージョンの 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 を生成します。これはより安全で、一般的に推奨されるバージョンです。