<? phpukraine ІНСТРУМЕНТИ
Пошук по платформі

password_hash і password_verify онлайн

Генерує хеш bcrypt або argon2id і перевіряє пароль проти наявного хеша.

НА СЕРВЕРІ PHP 8.4 ФОРМА → РЕЗУЛЬТАТ
РОБОЧА ЗОНА
ЩО РОБИТЬ

Дає справжній хеш, а не імітацію на JavaScript

Потрібно швидко зробити хеш для сіду, тестового користувача або міграції, і важливо, щоб він точно приймався password_verify у PHP. Цей інструмент викликає справжній PHP, тому хеш сумісний з вашим застосунком. Друге поле перевіряє наявний хеш проти пароля: зручно, коли вхід не працює і треба зрозуміти, у хешу чи в паролі проблема.

ЯК ЦЕ ПРАЦЮЄ В PHP

password_hash сам генерує сіль і вкладає її в результат разом з алгоритмом і його параметрами, тому окремої колонки для солі не потрібно, а два хеші того самого пароля виглядають різними. password_verify дістає параметри з хеша й перевіряє, тому старі хеші продовжують працювати після зміни cost.

$hash = password_hash($password, PASSWORD_DEFAULT);
// $2y$12$KIXQKr8Xf7… : сіль уже всередині

if (password_verify($password, $hash)) {
    // а тут одразу перехешуйте, якщо параметри застаріли
    if (password_needs_rehash($hash, PASSWORD_DEFAULT)) {
        $user->update(['password' => password_hash($password, PASSWORD_DEFAULT)]);
    }
}
ОБЕРЕЖНО

Не вставляйте сюди бойові паролі користувачів. Пароль передається на сервер, щоб PHP міг порахувати хеш: по HTTPS, без логів і без збереження, але для реальних облікових записів усе одно правильніше зробити це командою в консолі свого проєкту.

ПИТАННЯ

Що питають про цей інструмент

argon2id сучасніший і стійкіший до атак на GPU, бо вимагає ще й памʼяті, а не тільки процесора. bcrypt перевірений роками, доступний скрізь, і його достатньо для більшості проєктів. Якщо починаєте з нуля й хостинг дозволяє, беріть argon2id; якщо у вас уже bcrypt, міняти лише заради зміни не варто.

ДАЛІ ПО ТЕМІ