goProject/trunk/goutil/securityUtil/sha1.go

39 lines
870 B
Go
Raw Permalink Normal View History

2025-01-06 16:01:02 +08:00
package securityUtil
import (
"crypto/sha1"
"errors"
"fmt"
)
// 对字符串进行SHA1加密并且可以选择返回大、小写
// s:输入字符串
// ifUpper:输出是否大写
// 返回值md5加密后的字符串
func Sha1String(s string, ifUpper bool) string {
if len(s) == 0 {
panic(errors.New("input string can't be empty"))
}
return Sha1Bytes([]byte(s), ifUpper)
}
// 对字符数组进行SHA1加密并且可以选择返回大、小写
// b:输入字符数组
// ifUpper:输出是否大写
// 返回值md5加密后的字符串
func Sha1Bytes(b []byte, ifUpper bool) string {
if len(b) == 0 {
panic(errors.New("input []byte can't be empty"))
}
sha1Instance := sha1.New()
sha1Instance.Write(b)
result := sha1Instance.Sum([]byte(""))
if ifUpper {
return fmt.Sprintf("%X", result)
} else {
return fmt.Sprintf("%x", result)
}
}