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  }