[go] go 언어의 sha256 해시 함수

Go 언어는 강력한 해시 함수 라이브러리인 sha256을 제공합니다. SHA-256은 빠르고 안전한 해시 알고리즘으로, 데이터의 무결성을 검증하거나 보안 목적으로 데이터를 암호화할 때 사용됩니다. 이 블로그 게시물에서는 Go 언어에서 sha256 해시 함수를 사용하는 방법에 대해 알아보겠습니다.

1. sha256 라이브러리 가져오기

Go 언어에서 sha256 해시 함수를 사용하려면 crypto/sha256 패키지를 가져와야 합니다. 이 패키지에는 SHA-256 해시 함수에 필요한 모든 기능이 포함되어 있습니다.

import (
	"crypto/sha256"
	"fmt"
)

2. 데이터 해싱

SHA-256 해시 함수를 사용하여 데이터를 해싱하려면 sha256.Sum256() 함수를 사용합니다. 이 함수는 바이트 슬라이스를 인수로 받아 해시된 결과를 반환합니다.

data := []byte("example data")
hash := sha256.Sum256(data)
fmt.Printf("%x", hash)

위의 예제에서는 “example data”를 SHA-256 해시 함수를 사용하여 해싱하고, 그 결과를 16진수로 출력하고 있습니다.

3. 해시 값 비교

두 데이터의 해시 값을 비교하려면 crypto/subtle 패키지의 crypto/subtle.ConstantTimeCompare() 함수를 사용할 수 있습니다.

hash1 := sha256.Sum256(data1)
hash2 := sha256.Sum256(data2)
if subtle.ConstantTimeCompare(hash1[:], hash2[:]) == 1 {
    fmt.Println("두 데이터의 해시 값은 동일합니다.")
} else {
    fmt.Println("두 데이터의 해시 값은 다릅니다.")
}

SHA-256 해시 함수를 사용하여 데이터를 해싱하고 비교하는 방법에 대해 간략하게 살펴보았습니다. Go 언어의 sha256 패키지를 사용하면 데이터의 무결성을 보장하고 보안을 강화할 수 있습니다.

더 많은 정보를 원하시면 공식 문서를 참고하세요.