http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt section 3.3 describes an algorithm for creating a name-based GUID. This is a snippet of code that implements that algorithm.
The GUID is returned in {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} form.
use Digest::MD5 qw(md5_hex); # Generate a GUID given a string sub genGUID { my $seed = shift; my $md5 = uc md5_hex ($seed); my @octets = $md5 =~ /(.{2})/g; substr $octets[6], 0, 1, '4'; # GUID Version 4 substr $octets[8], 0, 1, '8'; # draft-leach-uuids-guids-01.txt GUI +D variant my $GUID = "{@octets[0..3]-@octets[4..5]-@octets[6..7]-@octets[8.. +9]-@octets[10..15]}"; $GUID =~ s/ //g; return $GUID; }
In reply to Generate GUID from a string by GrandFather
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |