我正在使用 Random Bytes 在PHP中创建一个哈希:
<?php
class Hash
{
public static function make($string, $salt = '')
{
return hash('sha256', $string . $salt);
}
public static function salt($length)
{
return random_bytes($length);
}
public static function unique()
{
return self::make(uniqid());
}
}
?>
但是我得到了这个结果:
|i S 7 j )8ce |i S 7 j )8ce
那么这是怎么回事?如何解决这个问题呢?
答案 0 :(得分:0)
打印字节很难做到。
正如teresko建议的那样,将其包裹在base64_encode()
中,或使用bin2hex()
。后者打印十六进制,所以只使用16个字符,但这就足够了。