Golangのハッシュアルゴリズムの実装方法は?
Go言語では、cryptoパッケージを使用してハッシュアルゴリズムを実装することができます。cryptoパッケージには、MD5、SHA-1、SHA-256など、複数のハッシュアルゴリズムの実装が提供されています。
SHA-256アルゴリズムを使用してハッシュ値を計算する例を以下に示します。
package main
import (
"crypto/sha256"
"fmt"
)
func main() {
data := []byte("hello world")
hash := sha256.Sum256(data)
fmt.Printf("Hash value: %x\n", hash)
}
結果は次のとおりです:
Hash value: 2ef7bde608ce5404e97d5f042f95f89f1c232871
この例では、最初に文字列をバイト配列に変換するために[]byteが使用され、次にsha256.Sum256()関数でハッシュ値が計算されます。最後に、ハッシュ値を%x形式の文字列に出力します。
必要に応じて、異なるハッシュアルゴリズムを選択できます。たとえば、crypto/md5パッケージを使用してMD5ハッシュ値を計算することができます。上記の例では、sha256をmd5に置き換えるだけです。
願わくは、ハッシュアルゴリズムは、任意の長さの入力を固定長のハッシュ値に変換します。したがって、入力データの長さがどれだけ長くても、ハッシュ値の長さは固定です。