Personal GUIDs – Fixed

Six years ago I wrote the article Personal GUIDs. This introduced a technique for assigning a unique unchanging type 5 GUID to each person on the planet. It made a string of the format:

"Surname;GivenNames;Sex;CountryOfBirth;PlaceOfBirth;DateOfBirth,"

which in theory should be unique for everyone, and turned it into a type 5 GUID using the Namespace GUID:

 {5b390b3f-9a62-508a-b235-6e6e8d270720}

(Read https://waterjuiceweb.wordpress.com/2013/06/16/type-3-and-5-guids/ for a description on how a type 5 GUID is made). I wrote a C program to generate the GUIDs.

Unfortunately, I made a mistake!

The C code did not use the DateOfBirth value in creating the string to be hashed. This meant only the first 5 fields were used. As a result the GUIDs produced did not match the description. Also it would mean two people born in the same place with same name but at different times could generate the same GUID.

I only just noticed the error while I was including the code into a new library I’m producing (Stay tuned for WjGuid coming soon!) and I was testing the results against an online type 5 GUID generator.

I have fixed the code and released PersonalGuid 1.0.1. The latest version is available here:

 >PersonalGuid.exe Doe John m Australia Sydney 19700101
ID: DOE;JOHN;M;AUSTRALIA;SYDNEY;19700101
{897469e0-c10b-5829-bd15-86309b1523cf}

To manually produce the personal guid without this tool you can use a site such as https://www.toolswow.com/generator/uuid-v5

For NameSpace mode use UUID and use the value ” {{5b390b3f-9a62-508a-b235-6e6e8d270720}”.

ScreenShot.png
Screenshot from https://www.toolswow.com/generator/uuid-v5

I additionally made a Python version that will work in Python 2 or 3. The python file is inside the .zip, but I have included it here as well.

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s