ホームページ  >  記事  >  バックエンド開発  >  Goで文字列のSHAハッシュを生成するにはどうすればよいですか?

Goで文字列のSHAハッシュを生成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-23 08:29:15157ブラウズ

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

Go で文字列の SHA ハッシュを簡単に生成する方法

文字列の SHA ハッシュの生成はプログラミングにおける一般的なタスクであり、Golang は簡単な方法を提供します。これは、crypto/sha パッケージを使用して実行します。プロセスを理解するのに役立つ実際的な例を次に示します。

パスワード文字列 myPassword := " beautiful" の SHA ハッシュを生成する必要があるシナリオを考えてみましょう。 Go でこれを実現するには、次のコード スニペットに従います。

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

このプロセスには、sha1.New() を使用して新しい SHA-1 ハッシュ アルゴリズム インスタンスを作成することが含まれます。次に、 hasher.Write() を使用してパスワード バイトをアルゴリズムに渡します。最後に、 hasher.Sum(nil) はメッセージ ハッシュを計算し、base64.URLEncoding.EncodeToString() を使用してそれを Base64 に変換します。

セキュリティ上の理由から、SHA ハッシュは生のバイトとしてデータベースに保存する必要があることに注意してください。ユーザー表示または URL の互換性のために、16 進数または Base64 エンコードが一般的に使用されます。

以上がGoで文字列のSHAハッシュを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。