Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       uuid_generate, uuid_generate_random, uuid_generate_time, uuid_generate_time_safe - einen eindeutigen
       UUID-Wert erzeugen

ÜBERSICHT

       #include <uuid.h>

       void uuid_generate(uuid_t Ausgabe);
       void uuid_generate_random(uuid_t Ausgabe);
       void uuid_generate_time(uuid_t Ausgabe);
       int uuid_generate_time_safe(uuid_t Ausgabe);
       void uuid_generate_md5(uuid_t Ausgabe, const uuid_t ns, const char *Name, size_t Länge);
       void uuid_generate_sha1(uuid_t Ausgabe, const uuid_t ns, const char *Name, size_t Länge);

BESCHREIBUNG

       Die Funktion uuid_generate() erzeugt einen neuen universellen eindeutigen Bezeichner (UUID). Diese UUID
       wird basierend auf qualitativ hochwertigen Zufallsdaten aus getrandom(2), /dev/urandom oder /dev/random
       erzeugt, sofern verfügbar. Falls dies nicht verfügbar ist, dann verwendet uuid_generate() einen
       alternativen Algorithmus, der die aktuelle Zeit, die lokale Ethernet-MAC-Adresse (falls verfügbar) und
       mit einem Pseudo-Zufallsgenerator erzeugte Zufallsdaten verwendet.

       Die Funktion uuid_generate_random() erzwingt die Verwendung des vollständig zufallsbasierten
       UUID-Formats, selbst wenn kein qualitativ hochwertiger Zufallszahlengenerator zur Verfügung steht. In
       letzterem Fall wird stattdessen ein Pseudo-Zufallsgenerator verwendet. Beachten Sie, dass ein solcher
       Pseudo-Zufallsgenerator die Eindeutigkeit der auf diese Weise erzeugten UUIDs kompromittieren kann.

       Die Funktion uuid_generate_time() erzwingt die Nutzung des alternativen Algorithmus, welcher die aktuelle
       Zeit und die lokale Ethernet-MAC-Adresse verwendet (sofern verfügbar). Dieser Algorithmus war früher der
       Standard zur Erzeugung von UUIDs, aber aufgrund der Einbeziehung der Ethernet-MAC-Adresse könnten
       Informationen darüber nach außen gelangen, wann und wo die UUID erzeugt wurde. Dies kann in einigen
       Anwendungen zu Datenschutzproblemen führen, daher verwendet die Funktion uuid_generate() nur dann diesen
       Algorithmus, wenn keine qualitativ hochwertige Zufallsdatenquelle zur Verfügung steht. Um die
       Eindeutigkeit der UUIDs gleichzeitig laufender Prozesse zu gewährleisten, verwendet die UUID-Bibliothek
       einen globalen Uhrstatuszähler (sofern der Prozess über die nötigen Rechte verfügt, exklusiv auf diese
       Datei zugreifen zu können) und/oder den Daemon uuidd, falls dieser bereits läuft oder vom Prozess
       aufgerufen werden kann (sofern dieser installiert ist und der Prozess über die nötigen Rechte verfügt,
       ihn auszuführen). Sollte keiner der beiden Synchronisationsmechanismen verwendbar sein, wäre es
       theoretisch möglich, dass zwei gleichzeitig laufende Prozesse die gleiche UUID ermitteln. Um
       herauszufinden, ob die UUID auf sichere Art erzeugt wurde, verwenden Sie uuid_generate_time_safe.

       Die Funktion uuid_generate_time_safe() ähnelt uuid_generate_time(), mit dem Unterschied, dass sie einen
       Wert zurückgibt, der anzeigt, ob einer der Synchronisationsmechanismen (siehe oben) verwendet wurde.

       Die UUID ist 16 Byte (128 Bit) lang, was etwa 3,4x10^38 eindeutige Werte ergibt (nach Carl Sagans Cosmos
       gibt es im Universum etwa 10^80 Elementarteilchen). Diese neue UUID kann unter allen auf dem lokalen
       System erstellten UUIDs und auch unter allen auf anderen Systemen in der Vergangenheit oder Zukunft
       erstellten UUIDs als hinreichend eindeutig betrachtet werden.

       Die Funktionen uuid_generate_md5() und uuid_generate_sha1() erzeugen eine mit MD5 und SHA1 gehashte
       (vorhersagbare) UUID, basierend auf einer wohlbekannten UUID, welche den Namensraum und eine willkürliche
       Binärzeichenkette bereitstellt. Die UUIDs sind konform zu den Versionen 3 und 5 von RFC-4122
       <https://tools.ietf.org/html/rfc4122>.

RÜCKGABEWERT

       Die neu erzeugte UUID wird an dem Speicherort zurückgegeben, auf den Ausgabe zeigt.
       uuid_generate_time_safe() gibt 0 zurück, wenn die UUID auf sichere Art erzeugt werden konnte,
       anderenfalls -1.

KONFORM ZU

       Diese Bibliothek erzeugt UUIDs, die zu OSF DCE 1.1 kompatible sind, und Hash-basierte UUIDs V3 und V5,
       die kompatibel sind zu RFC-4122 <https://tools.ietf.org/html/rfc4122>.

AUTOREN

       Theodore Y. Ts’o

SIEHE AUCH

       uuidgen(1), uuid(3), uuid_clear(3), uuid_compare(3), uuid_copy(3), uuid_is_null(3), uuid_parse(3),
       uuid_time(3), uuid_unparse(3), uuidd(8)

FEHLER MELDEN

       Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf
       https://github.com/karelzak/util-linux/issues.

VERFÜGBARKEIT

       libuuid ist seit Version 2.15.1 Teil des Pakets util-linux, welches heruntergeladen werden kann von:
       Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com>
       erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer.

util-linux 2.37.3                                24. Januar 2022                                UUID_GENERATE(3)