2016-05-08 20 views
0

Ich entwerfe eine PHP-Website, und ich habe sha1, um Passwort für die Benutzer zu speichern, aber ich später gelesen, dass sha1 ist unsicher, es ist besser, ich benutze Bcrypt, jetzt versuche ich über zu finden Bcrypt aber diese Fragen - How do you use bcrypt for hashing.. und Is Bcrypt used for Hashing ist zu komplex, ich verstehe nicht, was sie erklären.Wie speichere ich Benutzer Passwort mit Bcrypt

<?php $pass = sha1($_POST["password"]); ?> 

aber könnte es sein:

oder was ist besser als beide. Dank

+1

PHP bietet bereits einen schönen Wrapper um bcrypt in der [password_hash()] (http://www.php.net/manual/en/function.password-hash.php)/[password_verify()] (http: //www.php.net/manual/en/function.password-verify.php) -Funktionen –

Antwort

3

Wenn Sie PHP-Version 5.5 + verwenden, können Sie die Methode password_hash() verwenden, und password_verify();

Beispiel:

$hash = password_hash("mypassword", PASSWORD_BCRYPT); 

und zu überprüfen:

if (password_verify('mypassword', $hash)) { 
    echo 'Password is valid!'; 
} else { 
    echo 'Invalid password.'; 
} 

Dies ist die beste und gesichert in PHP heute, da das Salz in der Methode-eingebaut ist.

+0

Beachten sie, dass es empfehlenswert, der 'PASSWORD_DEFAULT' Parameter zu verwenden, wenn sie anrufen' password_hash' da dies den sichersten Algorithmus in PHP implementiert verwenden wie dies sich im Laufe der Zeit ändert. Außerdem hast du vergessen zu erwähnen, dass bcrypt viel besser ist als SHA-1, weil es einen _slow_ Algorithmus enthält und jeden Angreifer, der versucht, das Passwort zu erraten, verlangsamt, sobald er Zugriff auf die Hashes erlangt hat. – SilverlightFox

+0

@SilverlightFox der langsame Algorithmus ist kein Vorteil Sache, bcrypt ist viel besser als SHA-1, da jeder Aufruf einen anderen 60-Bit-Hash gibt. –

+0

[Hier klicken] (http://dustwell.com/how-to-handle-passwords-bcrypt.html) - re: bcyrpt: 'Es gibt eine Reihe von Hash-Funktionen, die speziell für Passwörter entwickelt wurden. Sie waren nicht nur sichere Einweg-Hash-Funktionen, sondern auch langsam. Salt ist gut, um zu verhindern, dass zwei Benutzer mit dem gleichen Passwort den gleichen Hashwert haben, aber Sie müssen die Angreifer auch so weit wie möglich verlangsamen. – SilverlightFox

Verwandte Themen