UUID
VA Smalltalk provides support for generating and parsing UUIDs
Universally Unique Identifiers, or UUID for short, serve as a unique identifier for various entities without requiring any sort of central authority. While they are not provably unique to the degree that a cryptography primitive would require, it would be extremely unlikely to see repeats.
VA Smalltalk offers three versions that are defined in the standards.
Version 3 & 5
Used for generating a UUID from a given namespace, name pairing. This is done using an MD5 hash. Version 5 is similar but uses a SHA-1 hash instead. The same UUID will be mapped to a namespace, name pairing.
Examples:
| v3 v5 |
 
v3 := UUIDGenerator default version3: 'c048f1b6-e621-400d-8e54-a93638064973' name: 'foo'.
v5 := UUIDGenerator default version5: 'c048f1b6-e621-400d-8e54-a93638064973' name: bar.
 
Version 4
Used for generating random UUIDs. In VA Smalltalk, this is done using the secure random number generator from OpenSSL. VA Smalltalk’s implementation has been tuned to generate random UUIDs very performantly. While this isn’t enough bits to be considered cryptographically random, it is very close and would be a near 0 probability to see repeats.
Examples:
| v4 |

“All of these are equivalent ways to generate version 4 random UUIDs”
v4 := UUIDGenerator default version4.
v4 := UUIDGenerator default next.
v4 := UUID new.
 
Last modified date: 07/19/2018