Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich einen SHA-Hash eines Strings in Go?

Wie erstelle ich einen SHA-Hash eines Strings in Go?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 08:29:15136Durchsuche

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

So generieren Sie ganz einfach einen SHA-Hash eines Strings in Go

Das Generieren eines SHA-Hashs eines Strings ist eine häufige Aufgabe in der Programmierung, und Golang bietet eine unkomplizierte Möglichkeit dazu Tun Sie dies mit dem Paket crypto/sha. Hier ist ein praktisches Beispiel, das Ihnen hilft, den Prozess zu verstehen:

Stellen Sie sich das Szenario vor, in dem Sie einen SHA-Hash für die Passwortzeichenfolge myPassword := „beautiful“ generieren müssen. Um dies in Go zu erreichen, folgen Sie dem angegebenen Codeausschnitt:

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)
}

Der Prozess umfasst die Verwendung von sha1.New() zum Erstellen einer neuen SHA-1-Hashing-Algorithmus-Instanz. Dann wird hasher.Write() verwendet, um die Passwortbytes an den Algorithmus zu übergeben. Schließlich berechnet hasher.Sum(nil) den Nachrichten-Hash und konvertiert ihn mithilfe von base64.URLEncoding.EncodeToString() in Base64.

Bedenken Sie, dass SHA-Hashes aus Sicherheitsgründen als Rohbytes in Datenbanken gespeichert werden sollten. Zur Benutzeranzeige oder URL-Kompatibilität wird üblicherweise Hexadezimal- oder Base64-Kodierung verwendet.

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen SHA-Hash eines Strings in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn