Sécurisation des mots de passe dans Golang sur App Engine
Lorsqu'il s'agit de hachage de mot de passe pour les applications Web, la sécurité est primordiale. Bien que les bibliothèques populaires telles que bcrypt ne soient pas adaptées à App Engine en raison de leur dépendance à l'égard de certains appels système, il existe des méthodes alternatives qui offrent un niveau de protection robuste.
Options de hachage sécurisé
App Engine prend en charge les algorithmes de hachage via le package go.crypto. Ce package propose deux options sécurisées :
Recommandation : bcrypt
Pour sa facilité d'utilisation et son efficacité prouvée, bcrypt est le choix recommandé. Il s'agit d'un algorithme simple à utiliser qui produit des hachages de haute qualité.
Mise en œuvre
<code class="go">import "golang.org/x/crypto/bcrypt" func Crypt(password []byte) ([]byte, error) { defer clear(password) return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost) } ctext, err := Crypt(pass) if err != nil { log.Fatal(err) } fmt.Println(string(ctext))</code>
La sortie ressemblera à une chaîne comme :
a$sylGijT5CIJZ9ViJsxZOS.IB2tOtJ40hf82eFbTwq87iVAOb5GL8e
pbkdf2 pour le hachage :
Si l'accent est uniquement mis sur le hachage plutôt que sur la vérification du mot de passe, pbkdf2 peut être utilisé :
<code class="go">import "golang.org/x/crypto/pbkdf2" func HashPassword(password, salt []byte) []byte { defer clear(password) return pbkdf2.Key(password, salt, 4096, sha256.Size, sha256.New) } pass := []byte("foo") salt := []byte("bar") fmt.Printf("%x\n", HashPassword(pass, salt))</code>
En employant ces options de hachage de mot de passe sécurisées, les développeurs peuvent protéger efficacement les informations d'identification des utilisateurs sur les applications Golang exécutées sur App Engine.
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!