From f58d6c7e121dc6a16f6b1e12e5beba1e6ce1b992 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 08 九月 2020 15:11:05 +0800
Subject: [PATCH] Push2Manager add isTest
---
extend/util/util.go | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 56 insertions(+), 1 deletions(-)
diff --git a/extend/util/util.go b/extend/util/util.go
index 1ae905f..3887458 100644
--- a/extend/util/util.go
+++ b/extend/util/util.go
@@ -5,16 +5,33 @@
"crypto/md5"
"crypto/sha256"
"encoding/base64"
+ "encoding/hex"
+ "fmt"
+ "math/rand"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "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 +60,42 @@
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
+}
+
+
+func GetAppRootPath() string {
+ file,err:= exec.LookPath(os.Args[0])
+ if err != nil {
+ return ""
+ }
+ p, err := filepath.Abs(file)
+ if err != nil {
+ return ""
+ }
+ return filepath.Dir(p)
}
\ No newline at end of file
--
Gitblit v1.8.0