This Go code demonstrates how to use the crypto/sha256
package to calculate the SHA-256 hash of a string. Let's go through the code with inline comments and explanations:
// Importing necessary packages.
import (
"crypto/sha256"
"fmt"
)
// The main function, where the execution of the program begins.
func main() {
// The string to be hashed.
s := "sha256 this string"
// Creating a new SHA-256 hash object.
h := sha256.New()
// Writing the bytes of the string to the hash object.
h.Write([]byte(s))
// Calculating the SHA-256 hash and getting the hash in bytes.
bs := h.Sum(nil)
// Printing the original string and the hexadecimal representation of the hash.
fmt.Println(s)
fmt.Printf("%x\n", bs)
}
sha256 this string
1af1dfa857bf1d8814fe1af8983c18080019922e557f15a8a0d3db739d77aacb
Explanation:
-
Creating SHA-256 Hash Object:
sha256.New()
creates a new SHA-256 hash object.
-
Writing Data to Hash:
h.Write([]byte(s))
writes the bytes of the strings
to the hash object.
-
Calculating Hash:
h.Sum(nil)
calculates the SHA-256 hash and returns it as a byte slice.
-
Printing Results:
fmt.Println(s)
prints the original string.fmt.Printf("%x\n", bs)
prints the hexadecimal representation of the SHA-256 hash.
This code demonstrates a basic example of using SHA-256 hashing in Go. Hashing is commonly used for securely storing passwords, generating unique identifiers, and ensuring data integrity.