Maison >développement back-end >Golang >Comment sécuriser les mots de passe des utilisateurs dans Go sur App Engine ?
Sécurisation des mots de passe utilisateur dans Go sur App Engine
Lors de la gestion des mots de passe utilisateur dans les applications Go déployées sur Google App Engine, la sécurité est primordiale. La bibliothèque bcrypt, bien qu'efficace pour le hachage de mots de passe, pose des limitations en raison de son utilisation de l'appel système. Pour cette raison, les développeurs peuvent rechercher des méthodes alternatives pour un hachage sécurisé des mots de passe.
Une option fiable consiste à exploiter le package golang.org/x/crypto, qui fournit des implémentations natives de PBKDF2 et bcrypt. Ces implémentations éliminent la dépendance à l'égard de syscall, ce qui les rend adaptées à App Engine.
Utilisation de bcrypt
Pour utiliser bcrypt, procédez comme suit :
1. Install the package: go get golang.org/x/crypto/bcrypt
2. Example usage: package main import ( "fmt" "golang.org/x/crypto/bcrypt" ) func main() { pass := []byte("your password") // Generate a hashed password ctext, err := bcrypt.GenerateFromPassword(pass, bcrypt.DefaultCost) if err != nil { // Handle error } fmt.Println(string(ctext)) // Example output: a$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e }
Utilisation de PBKDF2
Pour des besoins de hachage plus simples, PBKDF2 peut être utilisé :
1. Install the package: go get golang.org/x/crypto/pbkdf2
2. Example usage: package main import ( "fmt" "golang.org/x/crypto/pbkdf2" ) func main() { pass := []byte("your password") salt := []byte("your salt") // Generate a hash hash := pbkdf2.Key(pass, salt, 4096, sha256.Size, sha256.New) fmt.Printf("%x\n", hash) // Example output: 0x079b8238d3815d31d87d75ff893371ac3cc875f97eca499854655da9554d2555 }
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!