Maison >développement back-end >Golang >Comment puis-je garantir la compatibilité du hachage de mot de passe Bcrypt entre Node.js et Golang ?
Hachage de mot de passe Bcrypt dans Golang : atteindre la compatibilité avec Node.js
La migration des systèmes d'authentification de Node.js vers Golang nécessite de résoudre la compatibilité du hachage de mot de passe . Cet article présente une solution utilisant Node.js bcrypt et son équivalent dans Golang, golang.org/x/crypto/bcrypt.
Pour répliquer la chaîne hachée générée par Node.js bcrypt dans Golang, utilisez le code suivant :
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
Voici un exemple fonctionnel :
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 }
En utilisant golang.org/x/crypto/bcrypt, vous pouvez garantir la compatibilité avec votre système d'authentification existant lors de la migration vers Golang.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!