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) "2db9ba46-e3ae-4bfb-91f1-935c58e6a69a"
> (uuid-generate) "ff345111-27db-472d-9a96-fcbfa395fd55"
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) "e1f368a8-540e-484b-93c7-4066310bf985"
> (uuid-generate/random) "80a73c72-ba20-4827-9037-8181f967143a"
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) "943077ce-0237-11f1-95af-776c98d7b1cd"
> (uuid-generate/time) "94307dc8-0237-11f1-95af-776c98d7b1cd"