Heim >Backend-Entwicklung >Golang >Wie erreicht man ein Passwort-Hashing in Golang, das der crypt()-Funktion von PHP entspricht?
Golang-Äquivalent der crypt()-Funktion von PHP
Die crypt()-Funktion von PHP ist vielseitig in ihrer Fähigkeit, Werte mithilfe verschiedener Algorithmen zu hashen, darunter sha256, sha512 und Blowfish. Aufgrund dieser Variationen kann es schwierig sein, ein genaues Golang-Äquivalent zu finden.
Alternative Lösung mit bcrypt
Trotz des Fehlens eines genauen Golang-Äquivalents bietet bcrypt eine zuverlässige Alternative für Passwort-Hashing. So erreichen Sie eine ähnliche Funktionalität:
<code class="go">import "golang.org/x/crypto/bcrypt" // Determines if the bcrypt version of "enter-new-password" matches the provided hash check := bcrypt.CompareHashAndPassword([]byte("a$f5561d2634fb28a969f2dO8QeQ70f4bjCnF/.GvPpjj.8jgmtzZP2"), []byte("enter-new-password")) // Log the result log.Println(check)</code>
Dieser Code gibt Null zurück, wenn die bcrypt-Version von „enter-new-password“ mit dem bereitgestellten Hash übereinstimmt, andernfalls mit einem Fehlerobjekt.
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie erreicht man ein Passwort-Hashing in Golang, das der crypt()-Funktion von PHP entspricht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!