sql >> Databáze >  >> RDS >> Mysql

Použití funkcí password_hash a password_verify PHP 5.5

Ignoruji prozatím problémy s vašimi databázovými výpisy a odpovím na otázku týkající se password_hash .

Zkrátka ne, takhle se to nedělá. Nechcete ukládat sůl samotnou, měli byste ukládat jak hash, tak sůl a poté použít obojí k ověření hesla. password_hash vrátí řetězec obsahující obojí.

password_hash Funkce vrací řetězec, který obsahuje hash i sůl. Takže:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into database against user

Poté pro ověření:

// Fetch hash+salt from database, place in $hashAndSalt variable
// and then to verify $password:
if (password_verify($password, $hashAndSalt)) {
   // Verified
}

Navíc, jak naznačují komentáře, pokud vás zajímá bezpečnost, můžete se podívat na mysqli (ext/mysql je v PHP5.5 zastaralý) a také tento článek o SQL injection:http://php.net/manual/en/security.database.sql-injection.php



  1. Jak funguje model služeb PAAS?

  2. Jak SOUNDEX() funguje v MariaDB

  3. Jak zabezpečit Galera Cluster – 8 tipů

  4. Datové studio Aqua