Maison > développement back-end > Golang > Comment hacher en toute sécurité des mots de passe dans Go/App Engine : au-delà de bcrypt

Comment hacher en toute sécurité des mots de passe dans Go/App Engine : au-delà de bcrypt

Linda Hamilton
Libérer: 2024-10-31 07:49:30
original
384 Les gens l'ont consulté

How to Securely Hash Passwords in Go/App Engine: Beyond bcrypt

Hachage sécurisé des mots de passe dans Go/App Engine

Lors du hachage des mots de passe utilisateur dans une application Go/App Engine, il est crucial d'assurer la sécurité de la mise en œuvre. Cet article explore les méthodes alternatives à la bibliothèque bcrypt, qui est confrontée à des limitations sur App Engine en raison de son utilisation de syscall.

Options alternatives

Une approche recommandée consiste à utiliser l'option package go.crypto, qui fournit des implémentations Go pures de bcrypt et pbkdf2. Ces implémentations peuvent être utilisées sur App Engine.

Utilisation de bcrypt

Pour utiliser bcrypt, installez le package à l'aide de go get et importez-le dans votre code :

<code class="go">import "golang.org/x/crypto/bcrypt"</code>
Copier après la connexion

Pour hacher un mot de passe, utilisez la fonction GenerateFromPassword :

<code class="go">func Crypt(password []byte) ([]byte, error) {
    defer clear(password)
    return bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)
}</code>
Copier après la connexion

Utilisation de pbkdf2

Si vous préférez un mécanisme de hachage plus simple, vous pouvez utiliser pbkdf2 :

<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)
}</code>
Copier après la connexion

Conclusion

bcrypt et pbkdf2 fournissent tous deux des options sécurisées et efficaces pour le hachage de mot de passe dans les applications Go/App Engine. En utilisant les implémentations Go pures disponibles dans go.crypto, vous pouvez garantir la sécurité et la compatibilité de votre code.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal