Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UUIDGEN(1)			  User Commands 		      UUIDGEN(1)

NAME
     uuidgen - create a new UUID value

SYNOPSIS
     uuidgen [options]

DESCRIPTION
     The  uuidgen  program creates (and prints) a new universally unique identi-
     fier (UUID) using the libuuid(3) library. The new UUID  can  reasonably  be
     considered  unique  among	all UUIDs created on the local system, and among
     UUIDs created on other systems in the past and in the future.

     There are three types of  UUIDs  which  uuidgen  can  generate:  time-based
     UUIDs,  random-based  UUIDs,  and hash-based UUIDs. By default uuidgen will
     generate a random-based UUID if a high-quality random number  generator  is
     present.  Otherwise,  it  will  choose a time-based UUID. It is possible to
     force the generation of one of these first two  UUID  types  by  using  the
     --random or --time options.

     The  third type of UUID is generated with the --md5 or --sha1 options, fol-
     lowed by --namespace namespace and --name name. The namespace may either be
     a well-known UUID, or else an alias to one of the well-known UUIDs  defined
     in  RFC  4122, that is @dns, @url, @oid, or @x500. The name is an arbitrary
     string value. The generated UUID is the digest of the concatenation of  the
     namespace	UUID and the name value, hashed with the MD5 or SHA1 algorithms.
     It is, therefore, a predictable value which may be useful	when  UUIDs  are
     being  used  as  handles  or nonces for more complex values or values which
     shouldn't be disclosed directly. See the RFC for more information.

OPTIONS
     -r, --random
	 Generate a random-based UUID. This method  creates  a	UUID  consisting
	 mostly of random bits. It requires that the operating system has a high
	 quality random number generator, such as /dev/random.

     -t, --time
	 Generate  a  time-based  UUID.  This method creates a UUID based on the
	 system clock plus the system's ethernet hardware address, if present.

     -m, --md5
	 Use MD5 as the hash algorithm.

     -s, --sha1
	 Use SHA1 as the hash algorithm.

     -6, --time-v6
	 Generate a time-based UUID. This method creates a  UUID  based  on  the
	 system  clock	and  is lexicographically sortable according to the con-
	 tained timestamp.

     -7, --time-v7
	 Generate a time-based UUID. This method creates a  UUID  based  on  the
	 system  clock	and  is lexicographically sortable according to the con-
	 tained timestamp.

     -n, --namespace namespace
	 Generate the hash with the namespace prefix. The namespace is UUID,  or
	 '@ns'	where  "ns" is well-known predefined UUID addressed by namespace
	 name (see above).

     -N, --name name
	 Generate the hash of the name.

     -C, --count num
	 Generate multiple UUIDs using the enhanced capability of the libuuid to
	 cache time-based UUIDs, thus resulting in  improved  performance.  How-
	 ever, this holds no significance for other UUID types.

     -x, --hex
	 Interpret name name as a hexadecimal string.

     -h, --help
	 Display help text and exit.

     -V, --version
	 Display version and exit.

CONFORMING TO
     OSF DCE 1.1

EXAMPLES
     uuidgen --sha1 --namespace @dns --name "www.example.com"

AUTHORS
     uuidgen was written by Andreas Dilger for libuuid(3).

SEE ALSO
     uuidparse(1), libuuid(3), RFC 4122 <https://tools.ietf.org/html/rfc4122>
     RFC XXXX <https://tools.ietf.org/html/rfcXXXX>

REPORTING BUGS
     For	bug	  reports,	 use	   the	     issue	 tracker
     <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY
     The uuidgen command is part of the util-linux package which  can  be  down-
     loaded	       from	       Linux		Kernel		 Archive
     <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.42.2		   2026-06-16			      UUIDGEN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=uuidgen&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help