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

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

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 22:46:15834Durchsuche

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

Bcrypt-Passwort-Hashing in Golang: Kompatibilität mit Node.js erreichen

Die Migration von Authentifizierungssystemen von Node.js nach Golang erfordert die Bewältigung der Passwort-Hashing-Kompatibilität . Dieser Artikel stellt eine Lösung vor, die Node.js bcrypt und sein Äquivalent in Golang verwendet, golang.org/x/crypto/bcrypt.

Um die von Node.js bcrypt in Golang generierte Hash-Zeichenfolge zu replizieren, verwenden Sie den folgenden Code :

hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)

Hier ist ein funktionierendes Beispiel:

package main

import (
    "golang.org/x/crypto/bcrypt"
    "fmt"
)

func main() {
    password := []byte("MyDarkSecret")

    hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(hashedPassword))

    err = bcrypt.CompareHashAndPassword(hashedPassword, password)
    fmt.Println(err) // nil means it is a match
}

Durch die Nutzung golang.org/x/crypto/bcrypt können Sie bei der Migration zu Golang die Kompatibilität mit Ihrem vorhandenen Authentifizierungssystem sicherstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Bcrypt-Passwort-Hashing-Kompatibilität zwischen Node.js und Golang sicherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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