39 lines
870 B
Go
39 lines
870 B
Go
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)
|
||
}
|
||
}
|