| Autor | Zpráva | ||
|---|---|---|---|
| Jirin Profil |
#1 · Zasláno: 30. 8. 2013, 14:09:36
Zdravím,
chci se poptat, jak se nejlépe dá vyřešit změna hashovacího algoitmu. Měl jsem starší web, v kterém bylo heslo ukládáno klasicky pomocí md5(password), což příliš bezpečné není. Pak jsem si přečetl něco o soli, tak jsem chtěl přidat solení, jenže už jsem nepochopil, že solení má být pro každý záznam jiné, tak jsem dal pevnou sůl a ještě, abych to převedl všem, tak mě nenapadlo nic jiného než md5(md5(password) . $salt) - double hashing asi taky nebude úplně ideální. Nicméně teď bych chtěl přejít na něco, kde budu mít dynamický salt + nějaký bezpoečnější algoritmu, jak to nejlépe vyřešit, abych samozřejmě neodřízl staré uživatele. |
||
| Jan Tvrdík Profil |
Jirin:
Použij funkci crypt s blowfish hashováním. Migraci je nejsnazší založit na délce hashe, takže něco jako function authenticate($username, $password)
{
$user = $this->getUserByUsername($username);
if (strlen($user->password) === 32) { // md5 hash má 32 znaků
if (oldHash($password) === $user->password) {
$this->updateUserPassword($username, newHash($password));
return true;
} else {
return false;
}
} else {
return (newHash($password) === $user->password);
}
} |
||
|
Časová prodleva: 3 dny
|
|||
| Jirin Profil |
#3 · Zasláno: 2. 9. 2013, 12:37:40
Díky za reakci, či-li zkrátka když se bude přihlašovat někdo se starým heslem, tak ho příhlásíma změním na nové v databázi. To zní dobře.
Jinak místo crypt asi spíš použiju, password_hash, sice je to pro PHP 5.5 až, nicméně na githubu je password_compat, který umožňuje to samé u php < 5.5 |
||
|
Časová prodleva: 13 let
|
|||
0