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