bin2hex(random_bytes())取决于输入多少个字符?

时间:2017-03-31 03:27:23

标签: php encryption cryptography byte

我使用以下代码为我的应用生成简单的UID:

private function _createUid() {
    $bytes = random_bytes(128);
    $uid = bin2hex($bytes);

    return $uid;
}

通过这样做,_createUid()的结果将是256个字符的字符串。我的问题是,如果在同一台服务器上运行,此字符串将始终为256个字符,我知道不同服务器上的某些差异。另外,一个字节是否等于两个字符?

任何帮助都会很棒,谢谢!

1 个答案:

答案 0 :(得分:7)

以十六进制表示,一个字节始终表示为2个字符。

字节的十六进制表示是两个字符对的序列。第一个字符代表最重要的4位,第二个字符代表一个字节的最低4位。