Назад | Перейти на главную страницу

crypt (): не указан параметр соли. Вы должны использовать случайно сгенерированную соль и сильную хеш-функцию для создания безопасной хеш-функции.

Я получаю следующую ошибку пароля. У меня вариант PHP 7.2 (для версии PHP 5.5 эта проблема не возникает), следующий код:

function make_key($length)
{
    $valid_chars = 'abcdefghijkilmnoprstwxyzABCDEFGHIJKMNOPRSTWXYZIL0123456789';
    $random_string = "";
    $num_valid_chars = strlen($valid_chars);
    for ($i = 0; $i < $length; $i++)
    {
        $random_pick = mt_rand(1, $num_valid_chars);
        $random_char = $valid_chars[$random_pick-1];
        $random_string .= $random_char;
    }
    return $random_string;
}

/**
 * Generate random coupon code
 * @param int $length
 * @return string
 */
function generate_code($length=6)
{
    // Generate array range
    $range = array_merge(range('A', 'Z'), range(0, 9));

    $keyCount = count($range) - 1;
    $code = '';
    for ($i = 0; $i < $length; $i++) {
        $rand = mt_rand(0, $keyCount);
        $code .= $range[$rand];
    }
    return $code;
}

/**
 * Generates a random SHA-256 salt ($5$)
 * @return string
 */
function generate_salt() {
    return '$5$'.substr(crypt(uniqid()), 3, 13);
}

i eperire выглядит так: return '$ 5 $'. substr (crypt (unigid ()), 3, 13); , вы можете помочь мне, как я могу усилить этот код, чтобы у меня больше не было проблем? Спасибо

Я бы посоветовал вам использовать / или перейти к / password_hash () и password_verify () функции.

Склеп не является двоичным безопасным ..