package main
import (
"encoding/hex"
"fmt"
"io"
"crypto/sha256"
"crypto/sha512"
)
func sha256Str(x []byte) string {
y:=sha256.Sum256(x)
return hex.EncodeToString(y[:])
}
func sha256Str2(x []byte) string {
y:=sha256.Sum256(x)
return fmt.Sprintf("%x",y)
}
func sha256Str3(x []byte) string {
myhash:=sha256.New()
io.WriteString(myhash,string(x))
y:=myhash.Sum(nil)
return hex.EncodeToString(y)
}
func sha256Str4(x []byte) string {
myhash:=sha256.New()
myhash.Write(x)
y:=myhash.Sum(nil)
return hex.EncodeToString(y)
}
func sha224Str(x []byte) string {
myhash:=sha256.New224()
myhash.Write(x)
y:=myhash.Sum(nil)
return hex.EncodeToString(y)
}
func sha512Str(x []byte) string {
myhash:=sha512.New()
myhash.Write(x)
y:=myhash.Sum(nil)
return hex.EncodeToString(y)
}
func sha384Str(x []byte) string {
myhash:=sha512.New384()
myhash.Write(x)
y:=myhash.Sum(nil)
return hex.EncodeToString(y)
}
func main() {
x:=[]byte("少壮不努力,一生在朝鲜。英语学不牢,世代在青藏。")
fmt.Println(sha256Str(x))
fmt.Println(sha256Str2(x))
fmt.Println(sha256Str3(x))
fmt.Println(sha256Str4(x))
x2:=sha224Str(x)
fmt.Println(x2)
fmt.Println(len(x2))
x3:=sha384Str(x)
fmt.Println(x3)
fmt.Println(len(x3))
x4:=sha512Str(x)
fmt.Println(x4)
fmt.Print(len(x4))
}