diff options
Diffstat (limited to 'Database')
| -rw-r--r-- | Database/dbmain.php | 10 | ||||
| -rw-r--r-- | Database/meth_dbuser.php | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Database/dbmain.php b/Database/dbmain.php index 67f27a4..193c93a 100644 --- a/Database/dbmain.php +++ b/Database/dbmain.php @@ -21,8 +21,6 @@ class DbMain { // **************************************************************************** // Pour gérer si "en production" private $debug = True; - // Salt pour le chiffrement - private $salt = "t87RL7dKfaNAJKtCAR6cVFhEfkn7qBGW"; // Configuration du serveur MYSQL / MARIADB private $conn; private $host = "127.0.0.1"; @@ -191,9 +189,13 @@ class DbMain { } // Chiffre la data reçue + // https://www.delftstack.com/fr/howto/php/php-string-concatenation/ final public function crypt_pass($pass) { - $crypt = crypt($pass, $this->salt); - return $crypt; + // On génère une chaine de caractère aléatoire de 16 bytes en supprimant les caractères spéciaux de base64. + $salt = substr(str_replace("+", ".", base64_encode(random_bytes(32))), 0, 16); + // On configure pour avoir du SHA512 avec 10 000 tours (protection contre du bruteforce ex:hashcat) + $hash = crypt($pass, '$6'.'$rounds=10000'.'$'.$salt.'$'); + return $hash; } // Prépare la requète pour mitiger (se protéger) les injections SQL et diff --git a/Database/meth_dbuser.php b/Database/meth_dbuser.php index 5161a82..488d3e1 100644 --- a/Database/meth_dbuser.php +++ b/Database/meth_dbuser.php @@ -57,13 +57,11 @@ class DbUser extends DbMain { ".$this->tableUserAccount." WHERE email = ? "; - // Chiffrement du mot de passe - $crypt = $this->crypt_pass($pass); // Execution de la requète $result = $this->exec_cmd($reqCheckCredential, array($email))->fetchAll(PDO::FETCH_ASSOC); // Vérifiaction de correspondance email & pass foreach ($result as $rows) { - if ($rows["password"] == $crypt) { + if (password_verify($pass, $rows["password"])) { return $rows["userId"]; } } |
