Bcrypt-Passwort-Hashing-Kompatibilität zwischen Go und Node.js
Bei der Migration von Node.js zu Go ist es wichtig, die Abwärtskompatibilität aufrechtzuerhalten mit in der Datenbank gespeicherten Benutzerpasswörtern. Dies erfordert die Replikation der bcrypt-Passwort-Hashing-Funktionalität von Node.js in Go.
In Node.js nutzt der bcrypt-Verschlüsselungscode die bcrypt-Bibliothek, um einen gesalzenen Hash aus dem Passwort eines Benutzers zu generieren. Der entsprechende Code in Go, der das Paket golang.org/x/crypto/bcrypt verwendet, lautet:
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
Diese Funktion erzeugt eine gehashte Passwortzeichenfolge, die mit der vom Node.js-Code generierten Ausgabe kompatibel ist.
Das folgende funktionierende Go-Beispiel demonstriert den bcrypt-Passwort-Hashing-Prozess:
package main import ( "golang.org/x/crypto/bcrypt" "fmt" ) func main() { password := []byte("SomeSecretPassword") hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { panic(err) } fmt.Println(string(hashedPassword)) err = bcrypt.CompareHashAndPassword(hashedPassword, password) if err == nil { fmt.Println("Password matches hash.") } else { fmt.Println("Password does not match hash.") } }
Das obige ist der detaillierte Inhalt vonWie kann ich die Bcrypt-Passwort-Hashing-Kompatibilität zwischen Go und Node.js sicherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!