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) "0b3736e1-b70f-42a2-a39f-b065fa95b2fa"
> (uuid-generate) "c6905a06-460f-48f1-9286-a3b5a7cefd07"
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) "83cd4ed3-8019-4011-960f-a838b0775748"
> (uuid-generate/random) "f7cefb09-ebce-417c-9fb0-aa4e6b9ae052"
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) "85cc4334-ca4c-11f0-af7b-15d73df9c636"
> (uuid-generate/time) "85cc5946-ca4c-11f0-af7b-15d73df9c636"