---
name: "UUID::URandom"
section: "3pm"
platform: "linux"
package: "libuuid-urandom-perl"
version: "0.001-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/UUID::URandom"
---

# UUID::URandom(3pm)

UUIDs based on /dev/urandom or the Windows Crypto API

## NAME

UUID::URandom - UUIDs based on /dev/urandom or the Windows Crypto API

## VERSION

version 0.001

## SYNOPSIS

```
    use UUID::URandom qw/create_uuid/;
    my $uuid = create_uuid();
```

## DESCRIPTION

This module provides a portable, secure generator of RFC-4122 \<https://tools.ietf.org/html/rfc4122\> version 4 (random) UUIDs.  It is a thin wrapper around Crypt::URandom to set the UUID version and variant bits required by the RFC.

## USAGE

No functions are exported by default.

## FUNCTIONS

### create\_uuid

```
    my $uuid = create_uuid();
    # "\x95\x5a\xe4\x96\x8b\xb2\x45\x0b\x9c\x7e\x99\xf5\x01\xdf\x90\xfe"
```

This returns a new UUID as a 16 byte 'binary' string.

### create\_uuid\_hex

```
    my $uuid = create_uuid_hex();
    # "955ae4968bb2450b9c7e99f501df90fe"
```

This returns a new UUID as a 32-byte hexadecimal string.

### create\_uuid\_string

```
    my $uuid = create_uuid_string();
    # "955ae496-8bb2-450b-9c7e-99f501df90fe"
```

This returns a new UUID in the 36-byte RFC-4122 canonical string representation.  (N.B. The canonical representation is lower-case.)

## FORK AND THREAD SAFETY

The underlying Crypt::URandom is believed to be fork and thread safe.

## SEE ALSO

There are a number of other modules that provide version 4 UUIDs.  Many rely on insecure or non-crypto-strength random number generators.

- •

  Data::GUID::Any

- •

  Data::UUID::LibUUID

- •

  UUID

- •

  UUID::Tiny

- •

  Data::UUID::MT

## SUPPORT

### Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at \<https://github.com/dagolden/UUID-URandom/issues\>. You will be notified automatically of any progress on your issue.

### Source Code

This is open source software.  The code repository is available for public review and contribution under the terms of the license.

\<https://github.com/dagolden/UUID-URandom\>

```
  git clone https://github.com/dagolden/UUID-URandom.git
```

## AUTHOR

David Golden \<dagolden@cpan.org\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by David Golden.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
