golang使用单向散列函数

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

猜你喜欢

转载自blog.csdn.net/baidu_25845567/article/details/82662570
今日推荐