Maison  >  Article  >  développement back-end  >  Comment générer un hachage SHA d'une chaîne en Go ?

Comment générer un hachage SHA d'une chaîne en Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-23 08:29:15134parcourir

How to Generate a SHA Hash of a String in Go?

Comment générer facilement un hachage SHA d'une chaîne dans Go

Générer un hachage SHA d'une chaîne est une tâche courante en programmation, et Golang fournit un moyen simple de faites-le en utilisant le package crypto/sha. Voici un exemple pratique pour vous aider à comprendre le processus :

Considérez le scénario dans lequel vous devez générer un hachage SHA pour la chaîne de mot de passe myPassword := "beautiful". Pour y parvenir dans Go, suivez l'extrait de code donné :

import (
    "crypto/sha1"
    "encoding/base64"
)

func generateSHA(password string) string {
    hasher := sha1.New()
    hasher.Write([]byte(password))
    sha := base64.URLEncoding.EncodeToString(hasher.Sum(nil))
    return sha
}

func main() {
    myPassword := "beautiful"
    result := generateSHA(myPassword)
    fmt.Println("SHA hash:", result)
}

Le processus implique l'utilisation de sha1.New() pour créer une nouvelle instance d'algorithme de hachage SHA-1. Ensuite, hasher.Write() est utilisé pour transmettre les octets du mot de passe à l'algorithme. Enfin, hasher.Sum(nil) calcule le hachage du message et le convertit en base64 à l'aide de base64.URLEncoding.EncodeToString().

N'oubliez pas que les hachages SHA doivent être stockés sous forme d'octets bruts dans les bases de données pour des raisons de sécurité. Pour l'affichage utilisateur ou la compatibilité des URL, le codage hexadécimal ou Base64 est couramment utilisé.

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!

Déclaration:
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