

PHP - password_hash problém
Zdravím. Mám jednoduchý problém. Dělám registraci a hesla jsem se rozhodl hashovat pomocí password hash, ale vždy se mi potom zahashované hesla liší a nevím, proč.
Kód jsem samozřejmě zkrátil.
<?php
// získávání proměnných, nejen hesel
$password1 = htmlspecialchars(trim($_POST['password1']));
$password2 = htmlspecialchars(trim($_POST['password2']));
// hashování proměnných
$password1 = password_hash($password1, PASSWORD_DEFAULT);
$password2 = password_hash($password2, PASSWORD_DEFAULT);
var_dump($password1, $password2);
?>
Potom mi to při var_dump vrací odlišné hodnoty. Kde mám chybu (a ano, ve formuláři jsou stejné hodnoty)?
Předem děkuji za veškeré rady.
Nemáš nikde chybu. Výsledok v sebe obsahuje okrem použitého algoritmu aj soľ (salt) a cenu (cost), ktoré boli použité pri generovaní hešu, preto sa od seba výsledky líšia. Pri overovaní, či je heš správny použiješ funkciu password_verify.
Ale i tak mi to pak akorát vrátí to, jestli je hash validní nebo ne, ne? Nijak mi to můj problém nevyřeší, pokud se nepletu... nebo jsem to špatně pochopil? Jak tedy zajistit, aby se to vždy rovnalo, pokud se budou rovnat vstupní hodnoty?
Porovnáš přímo ty hodnoty.