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) "cf6f1a59-3b44-4f00-9a1f-9282f45e03b6"
> (uuid-generate) "f40f90d6-905f-4102-8645-ec4091e47802"
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) "1019fa53-0b10-4b2b-97e8-ba1c4d6b4de9"
> (uuid-generate/random) "c8fba29e-e145-4948-8ac2-fb3775a78859"
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) "953691d0-3536-11f1-87f6-1b39e8f20412"
> (uuid-generate/time) "9536b160-3536-11f1-87f6-1b39e8f20412"