UUID 值为二进制并返回

  • 本文关键字:返回 二进制 UUID php
  • 更新时间 :
  • 英文 :


我正在使用以下两个函数将uuid转换为二进制并返回。但是,转换后的 uuid 值在转换为二进制后不会返回旧值。我应该怎么做,或者我不理解这里的概念。

function uuid_to_bin($uuid){
$bin_uuid = pack("H*", str_replace('-', '', $uuid));
return $bin_uuid;
}
function bin_to_uuid($binid)
{
$arr= unpack("H*", $binid);
$string = $arr['1'];
$string = preg_replace("/([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4}) 
([0-9a-f]{4})([0-9a-f]{12})/", "$1-$2-$3-$4-$5", $string);
return $string;
}

使用 https://github.com/ramsey/uuid,它已经正确实现了转换。

见 https://github.com/ramsey/uuid/blob/29fb62b48611761b4c0c4e8f4a428cad19c2b690/src/Codec/StringCodec.php#L61-L100

最新更新