Двойно криптиране на парола

bganonymous

Registered
Здравейте! :) Във форума намерих този код, който служи за по-голяма защита, като криптира паролите на потребителите 2 пъти:

Код:
<?php
$pass = '123456';
$md5 = md5('123456' . $pass . '123456');
$md5e = md5($md5);
echo $md5e;
?>

Въпросът ми е как да го вградя във моята форма за регистрация, така че наистина да ми помогне и върши работа. Това е кодът ми за регистрация:

Код:
<?php
if($_POST['register']) {
$username = htmlspecialchars($_POST['username']);
$password = md5($_POST['password']);
$email = htmlspecialchars($_POST['email']);
...

Благодаря предварително за помощта! :)
 
Създай си една функция:

PHP:
function HashPWD($password) {

$salt = 'O5nVXjfjpjgmEnPZ8Wn1wQF0Gj84ht3C0349GMHb5xGwH1zdJmiOgb8Ai6am1If';

return sha1($password.$salt);

}

След това когато дойде момента да вкарваш паролата във базата данни:

Потребителя въвежда парола:

PHP:
$password = $_POST['password'];

Да кажем, че сега променливата $password съдържа паролата в чист вид, тоест примерно:
PHP:
moqtaparola123456

След като си взел паролата от пост масива е вкарваш във функцията:

PHP:
$password = HashPWD($password);

Сега вече $password съдържа този салт + паролата от потребителя хеширани на един общ стринг.

И записваш във базата данни.


-------------------------------------

Когато потребителя се логва във системата:

Отново същатата процедура правиш, отново паролата е минаваш през функцията HashPWD($password); и проверяваш за съответсвие в базата данни.
 

Back
Горе