.\" -*- coding: UTF-8 -*- .\" Copyright 1999 Andreas Dilger (adilger@enel.ucalgary.ca) .\" .\" %Begin-Header% .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, and the entire permission notice in its entirety, .\" including the disclaimer of warranties. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote .\" products derived from this software without specific prior .\" written permission. .\" .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED .\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF .\" WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF .\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE .\" USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" %End-Header% .\" .\" Created Wed Mar 10 17:42:12 1999, Andreas Dilger .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH UUID_GENERATE 3 "Mai 2009" util\-linux Libuuid\-API .SH BEZEICHNUNG uuid_generate, uuid_generate_random, uuid_generate_time, uuid_generate_time_safe \- einen eindeutigen UUID\-Wert erzeugen .SH ÜBERSICHT .nf \fB#include \fP .sp \fBvoid uuid_generate(uuid_t \fP\fIAusgabe\fP\fB);\fP \fBvoid uuid_generate_random(uuid_t \fP\fIAusgabe\fP\fB);\fP \fBvoid uuid_generate_time(uuid_t \fP\fIAusgabe\fP\fB);\fP \fBint uuid_generate_time_safe(uuid_t \fP\fIAusgabe\fP\fB);\fP \fBvoid uuid_generate_md5(uuid_t \fP\fIAusgabe\fP\fB, const uuid_t \fP\fIns\fP\fB, const char \fP\fI*Name\fP\fB, size_t \fP\fILänge\fP\fB);\fP \fBvoid uuid_generate_sha1(uuid_t \fP\fIAusgabe\fP\fB, const uuid_t \fP\fIns\fP\fB, const char \fP\fI*Name\fP\fB, size_t \fP\fILänge\fP\fB);\fP .fi .SH BESCHREIBUNG Die Funktion \fBuuid_generate\fP erzeugt einen neuen universellen eindeutigen Bezeichner (UUID). Diese UUID wird basierend auf qualitativ hochwertigen Zufallsdaten aus \fI/dev/urandom\fP) erzeugt, sofern verfügbar. Falls dies nicht verfügbar ist, dann verwendet \fBuuid_generate\fP einen alternativen Algorithmus, der die aktuelle Zeit, die lokale Ethernet\-MAC\-Adresse (falls verfügbar) und mit einem Pseudo\-Zufallsgenerator erzeugte Zufallsdaten verwendet. .sp Die Funktion \fBuuid_generate_random\fP erzwingt die Verwendung des vollständig zufallsbasierten UUID\-Formats, selbst wenn kein qualitativ hochwertiger Zufallszahlengenerator (zum Beispiel \fI/dev/urandom\fP 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. .sp Die Funktion \fBuuid_generate_time\fP 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 \fBuuid_generate\fP 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 \fBuuidd\fP, 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 \fBuuid_generate_time_safe\fP. .sp Die Funktion \fBuuid_generate_time_safe\fP ähnelt \fBuuid_generate_time\fP, mit dem Unterschied, dass sie einen Wert zurückgibt, der anzeigt, ob einer der Synchronisationsmechanismen (siehe oben) verwendet wurde. .sp Die UUID ist 16 Byte (128 Bit) lang, was etwa 3,4x10^38 eindeutige Werte ergibt (nach Carl Sagans \fICosmos\fP 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. .sp Die Funktionen \fBuuid_generate_md5\fP und \fBuuid_generate_sha1\fP 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 zu den Versionen 3 und 5 von RFC\-4122 konform. .SH RÜCKGABEWERT Die neu erzeugte UUID wird an dem Speicherort zurückgegeben, auf den \fIAusgabe\fP zeigt. \fBuuid_generate_time_safe\fP gibt 0 zurück, wenn die UUID auf sichere Art erzeugt werden konnte, anderenfalls \-1. .SH "KONFORM ZU" Diese Bibliothek erzeugt UUIDs, die zu OSF DCE 1.1 kompatible sind, und Hash\-basierte UUIDs V3 und V5, die zu RFC\-4122 kompatibel sind. .SH AUTOREN Theodore Y.\& Ts'o .SH "SIEHE AUCH" \fBuuidgen\fP(1), \fBuuid\fP(3), \fBuuid_clear\fP(3), \fBuuid_compare\fP(3), \fBuuid_copy\fP(3), \fBuuid_is_null\fP(3), \fBuuid_parse\fP(3), \fBuuid_time\fP(3), \fBuuid_unparse\fP(3), \fBuuidd\fP(8) .SH VERFÜGBARKEIT \fBlibuuid\fP ist seit Version 2.15.1 Teil des Pakets util\-linux, welches auf https://www.kernel.org/pub/linux/utils/util\-linux/ verfügbar ist. .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .