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) "d086a9f3-8af6-497a-ab6b-e440b5e6c2bf"
> (uuid-generate) "d3917994-d561-476d-922a-3483ad6d8cd2"
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) "be36c5e2-e196-4746-a968-926fdb36f23c"
> (uuid-generate/random) "77b1567b-a37d-4d4f-b8a3-fb02eb88b1de"
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) "5663a228-3153-11f0-ba94-cd897bf497c8"
> (uuid-generate/time) "5663af20-3153-11f0-ba94-cd897bf497c8"