Lors de la migration de Node.js vers Golang pour l'authentification des utilisateurs, l'alignement du hachage de mot de passe entre les frameworks est essentiel. Node.js utilise le package « bcrypt » pour le hachage sécurisé des mots de passe, ce qui pose la question : comment atteindre le même niveau de sécurité dans Golang ?
Équivalent Golang Bcrypt
Pour correspondre au mécanisme de hachage employé par le package 'bcrypt' de Node.js, Golang propose une solution sous la forme du Paquet 'golang.org/x/crypto/bcrypt'. Le code équivalent en Golang serait :
hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
Exemple d'implémentation
Considérez cet exemple fonctionnel en Golang :
package main import ( "golang.org/x/crypto/bcrypt" "fmt" ) func main() { password := []byte("MyDarkSecret") // Hashing the password with the default cost of 10 hashedPassword, err := bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) if err != nil { panic(err) } fmt.Println(string(hashedPassword)) // Comparing the password with the hash err = bcrypt.CompareHashAndPassword(hashedPassword, password) fmt.Println(err) // nil means it is a match }
Avec ce code , vous pouvez migrer en toute confiance votre logique d'authentification vers Golang, en garantissant que le même niveau de sécurité des mots de passe est maintenu.
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!