generate better hex ids for manually created badly formed guids
This commit is contained in:
parent
0ddd109775
commit
596420cd1f
1 changed files with 6 additions and 4 deletions
|
|
@ -145,7 +145,7 @@ sub session {
|
|||
|
||||
=head2 toHex ( guid )
|
||||
|
||||
Returns the hex value of a guid
|
||||
Returns the hex value of a guid. For all GUIDs generated by the generate method, the return value will be 32 characters long. For some manually created invalid GUIDs, it may be 33 characters long.
|
||||
|
||||
=head3 guid
|
||||
|
||||
|
|
@ -154,11 +154,13 @@ guid to convert to hex value.
|
|||
=cut
|
||||
|
||||
sub toHex {
|
||||
my $self = shift;
|
||||
my $self = shift;
|
||||
my $id = shift;
|
||||
$id =~ tr{_-}{+/};
|
||||
my $bin_id = decode_base64("$id==");
|
||||
my $hex_id = sprintf('%*v02x', '', $bin_id);
|
||||
$id .= 'AA';
|
||||
my $bin_id = decode_base64($id);
|
||||
my $hex_id = unpack("H*", $bin_id);
|
||||
$hex_id =~ s/0{3,4}$//;
|
||||
return $hex_id
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue