libuuid
Jan Dvorak <mordae@anilinux.org>
Interface to the libuuid library usable to generate high-quality UUIDs.
| (require libuuid) | package: libuuid |
procedure
(uuid-generate) → string?
> (uuid-generate) "6388e787-e716-424e-aaa7-cc8c8c30f45d"
> (uuid-generate) "2671a5f5-c8f0-4edd-bc5b-03cbf2084633"
procedure
Can be used to prevent any chance of host’s MAC address leaking, at the cost of slightly higher chance of generating non-unique identifiers if the worst-case situation arises on multiple hosts.
> (uuid-generate/random) "96ed5a15-d0c4-4587-8017-9c1345833456"
> (uuid-generate/random) "6f0ebcf2-e801-462a-ab42-a2c3b40fb42a"
procedure
Could potentially produce non-uniqueue identifiers if used concurrently so if you do not absolutely need sequential identifiers, stick with the generic (and safe) uuid-generate function above.
> (uuid-generate/time) "ba3c5064-cf23-11f1-b15a-2b9cfb8c2029"
> (uuid-generate/time) "ba3c726a-cf23-11f1-b15a-2b9cfb8c2029"