From 8a0cb38a396e18a9f220bd5144212baca18f49d1 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 22 六月 2020 15:43:07 +0800 Subject: [PATCH] push space left by uni-push --- extend/util/util.go | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/extend/util/util.go b/extend/util/util.go index 1ae905f..5e2b118 100644 --- a/extend/util/util.go +++ b/extend/util/util.go @@ -5,16 +5,30 @@ "crypto/md5" "crypto/sha256" "encoding/base64" + "encoding/hex" + "fmt" + "math/rand" + "strconv" + "strings" + "time" "unsafe" ) + +func Sha256(message string) string { + h := sha256.New() + h.Write([]byte(message)) + res := h.Sum(nil) + return hex.EncodeToString(res) +} + func ComputeHmacSha256Base64(message string, secret string) string { key := []byte(secret) h := hmac.New(sha256.New, key) h.Write([]byte(message)) abs := h.Sum(nil) - return base64.StdEncoding.EncodeToString(abs) } + func Hik_ComputeSignatureBase64(appKey string, appSecret string, httpMethod string, accept string, contentType string, date string, url string) string { httpHeaders := httpMethod +"\n" + accept + "\n" + contentType + "\n"+ date +"\n" @@ -43,4 +57,29 @@ func MD5Base64(s []byte) string { sum := md5.Sum(s) return base64.StdEncoding.EncodeToString(sum[:]) +} + +func GenValidateCode(width int) string { + numeric := [10]byte{0,1,2,3,4,5,6,7,8,9} + r := len(numeric) + rand.Seed(time.Now().UnixNano()) + + var sb strings.Builder + for i := 0; i < width; i++ { + fmt.Fprintf(&sb, "%d", numeric[ rand.Intn(r) ]) + } + str := sb.String() + if strings.HasPrefix(str, "0") { + pI := RandInt(1,9) + str = strconv.Itoa(pI) + str[1:] + } + return str +} + +//鐢熸垚鍖洪棿闅忔満鏁� +func RandInt(min, max int) int { + if min >= max || min ==0 ||max == 0 { + return max + } + return rand.Intn(max-min) + min } \ No newline at end of file -- Gitblit v1.8.0