Heim > Backend-Entwicklung > Golang > Wie kann ich die Bcrypt-Passwort-Hashing-Kompatibilität zwischen Go und Node.js sicherstellen?

Wie kann ich die Bcrypt-Passwort-Hashing-Kompatibilität zwischen Go und Node.js sicherstellen?

Linda Hamilton
Freigeben: 2024-12-03 07:30:10
Original
640 Leute haben es durchsucht

How Can I Ensure Bcrypt Password Hashing Compatibility Between Go and Node.js?

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)
Nach dem Login kopieren

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.")
    }
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage