The change log includes a detailed description of all changes to this package in the recent releases.
Version: 3.2.7
Changes from 3.1.0 to 3.2.0
Fixed warnings when compiling mxUID on Linux x64.
Changes from 3.0.0 to 3.1.0
mxUID now uses hashlib instead of the md5 module (if available)
Changes from 0.2.0 to 3.0.0
Moved package from the mx Experimental Distribution to mx Base Distribution
Synchronized version number with the distribution.
Changes from 0.1.0 to 0.2.0
Moved verify() into the C extension.
Added (undocumented, internal) otp() API which allows applying a
one-time stamp to a UID string for encryption. The function is
idempotent (applying it a second time will reverse the mapping) making
it ideal for encryption/decryption.
Added helper APIs
mangle() and demangle() which encode the UID strings in a way which
should make it very hard to construct valid UIDs without knowledge of
the key string provided that only mangled UID strings are made public.
The APIs also add noise to the UID strings to cover the internal
structure (this doesn't make them more secure to analysis, though).
Changed the
UID layout to enhance performance, esp. when using the UIDs as index
strings in databases (they no longer start with the timestamp, which
caused UIDs to typically differ starting at the 9th string position).
The UID length also has gone down to the more computer friendly 32 byte
format.
Reduced the maximum code length.
Fixed a portability bug. The mxUID_GetCurrentTime() API (taken from
mxDateTime) needs some extra include files on a few platforms. Thanks
to Dirk Holtwick for finding this one -- it was a simple copy&paste
bug.
The UID ID
counter will now be preset from the time of import. This should make
the UIDs a little less predictable (even without mangling).
Fixed the mxUID initialization to work on machines which don't have a network connection.