gitee.com/h79/goutils@v1.22.10/common/algorithm/sha1.go (about) 1 package algorithm 2 3 import ( 4 "crypto/sha1" 5 "fmt" 6 "io" 7 "sort" 8 "strings" 9 ) 10 11 func SignWithSha1(sep string, s ...string) (string, error) { 12 sort.Strings(s) 13 jn := strings.Join(s, sep) 14 return Sha1(jn) 15 } 16 17 func Sha1(s string) (string, error) { 18 hash := sha1.New() 19 if _, err := io.WriteString(hash, s); err != nil { 20 return "", err 21 } 22 return fmt.Sprintf("%x", hash.Sum(nil)), nil 23 }