Php passwort verschlüsseln?
Hab mir ein Video angesehen das schon von 2016 ist und der Youtuber meinte selber das es eine bessere Methode geben kann als sha512.
$passwort = "einwichtigespasswort";
echo hash("sha512", $passwort);
Was ist das aktuellste heutzutage ?
4 Antworten
Definiere in diesem Sinne besser. Es gibt für SHA2 bisher keine bekannten Angriffe, außer hier speziell einen Length Extension Angriff dieser ist aber für zB das Hashen eines Passwortes egal.
Es gibt darüber hinaus mitlerweile auch den SHA3 Algorithmus, welcher bisher keinen so einen Angriff zulässt.
Ob der eine bessere als der andere ist, weiß man am Ende nicht, weil es für Hash Funktionen einfach nicht beweisbar ist, dass keine Funktion gefunden werden kann welche mit vertretbaren Mitteln eine Kollision berechnet.
SHA 3 wurde mehr aus einer Vorsicht heraus entwickelt, weil theoretische Schwächen im Verfahren gefunden wurden welches SHA2 zu Grunde liegt und SHA1 somit gebrochen wurde. Das kann muss aber nicht heißen, dass SHA2 in nächster Zeit gebrochen wird.
Es kann theoretisch auch sein, dass SHA3 vor SHA2 gebrochen wird, in so fern kann man bei kryptografischen Hashfunktionen schlecht sagen, welcher der Bessere ist, sondern eigentlich nur unterscheiden, zwischen Rechenaufwand und ob der Hash gebrochen ist oder nicht, wobei gebrochen auch zum Teil vom Anwendungsfall abhängt.
Das BSI sagt:
Nach heutigem Kenntnisstand gelten die folgenden Hashfunktionen als kryptographisch stark und sind damit für alle in dieser Technischen Richtlinie genannten Verfahren einsetzbar:
• SHA-256, SHA-512/256, SHA-384 und SHA-512
• SHA3-256, SHA3-384, SHA3-512
Ergänzung: Das hat den entscheidenden Vorteil, dass du dir um salt keine Gedanken machen musst. Wenn du nur eine Hashfunktion einsetzt ohne salt, finden sich genug Tabellen im Netz, die das rückwärts auflösen.
password_verify ist die Funktion zum Prüfen des Passwortes.
das reicht bis zur Einführung von serienreifen quantencomputern aus
sha256 ist schon vollkommen ausreichend, sha512 ist die Übertreibung. Darüber gibt es nichts was implementiert ist, warum auch.
Und wenn man richtig übertreiben will?
Gibt es da nichts besseres auch nach 6 Jahren