Maison  >  Article  >  développement back-end  >  Comment générer un hachage SHA pour une chaîne donnée dans Golang ?

Comment générer un hachage SHA pour une chaîne donnée dans Golang ?

DDD
DDDoriginal
2024-11-19 21:07:02837parcourir

How do you generate a SHA hash for a given string in Golang?

Génération d'un hachage SHA pour une chaîne donnée dans Golang

L'une des opérations cryptographiques les plus typiques effectuées avec des chaînes consiste à calculer leur hachage SHA. L'algorithme SHA (Secure Hash Algorithm) génère une empreinte digitale unique en prenant une chaîne en entrée. Dans Golang, créer un hachage SHA est un processus simple.

Exemple d'utilisation

Par exemple, calculons le hachage SHA de la chaîne « belle ». L'extrait de code suivant fournit un exemple pratique :

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

func main() {
    myPassword := "beautiful"

    hasher := sha1.New()
    hasher.Write([]byte(myPassword))
    sha := base64.URLEncoding.EncodeToString(hasher.Sum(nil))

    println(sha)
}

Ce code démontre :

  • Encodage de la chaîne "belle" dans un tableau d'octets à l'aide de []byte(myPassword)
  • Création d'un nouveau hachage SHA1 à l'aide de sha1.New()
  • Utilisation de hasher.Write() pour transmettre la chaîne au hachage
  • Obtention des octets bruts du hachage à l'aide du hachage. Sum(nil)
  • Facultativement, encoder les octets de hachage en base64 pour une lisibilité humaine à l'aide de base64.URLEncoding.EncodeToString()

La variable sha résultante contient le hachage SHA encodé en base64 de la chaîne originale, qui peut être facilement affichée ou comparée.

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