package utils import ( "crypto/rand" "crypto/sha256" "crypto/x509" "encoding/base64" "encoding/hex" "encoding/pem" ) func CheckHttps(pub string) (*x509.Certificate, error) { skBlock, _ := pem.Decode([]byte(pub)) cert, err := x509.ParseCertificate(skBlock.Bytes) return cert, err } func GetSHA256HashCode(stringMessage string) string { message := []byte(stringMessage) //字符串转化字节数组 //创建一个基于SHA256算法的hash.Hash接口的对象 hash := sha256.New() //sha-256加密 //hash := sha512.New() //SHA-512加密 //输入数据 hash.Write(message) //计算哈希值 bytes := hash.Sum(nil) //将字符串编码为16进制格式,返回字符串 hashCode := hex.EncodeToString(bytes) //返回哈希值 return hashCode } func RandPassword(n int) (string, error) { b := make([]byte, n) _, err := rand.Read(b) if err != nil { return "", err } return base64.StdEncoding.EncodeToString(b), nil }