Случайные байты создают неопределенные символы - PullRequest
0 голосов
/ 28 мая 2018

Я использую Случайные байты для создания хэша в 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��

Так как же это и как я могу решить эту проблему?

1 Ответ

0 голосов
/ 28 мая 2018

Печать байтов довольно трудна для выполнения.

Как предложил Тереско, оберните его в base64_encode() или используйте bin2hex().Последний печатает шестнадцатеричный код, поэтому использует только 16 символов, но этого может быть достаточно.

См. Здесь оба в действии.

...