#php #security #hash #phpass #initialization-vector
#php #Безопасность #хэш #phpass #инициализация-вектор
Вопрос:
Я привык к тому, что алгоритмы хеширования всегда возвращают один и тот же хэш.
Почему библиотека phpass всегда возвращает разные хэши?
Это как-то связано с IV? (Я никогда полностью не понимал эту концепцию)
<?php
require __DIR__ . '/PasswordHash.php';
$hasher = new PasswordHash(11,false);
$password = 'bla123';
echo $hash = $hasher->hashPassword($password); // different for each request
Комментарии:
1. пожалуйста, предоставьте нам некоторый код, который вы используете
Ответ №1:
согласно этому разделу «Что, если пользователь уже существует?» это нормальное поведение этой библиотеки
Ответ №2:
Он использует crypt() , который уже генерирует разные хэши для одной и той же строки. Он хэширует каждый пароль другим ключом и хранит ключ внутри хэша (он общедоступен).