package comm import ( "encoding/hex" "fmt" "math/rand" "testing" "time" ) // 长度为62 var bytes []byte = []byte("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890") func init() { // 保证每次生成的随机数不一样 rand.Seed(time.Now().UnixNano()) } // 方法一 func RandStr1(n int) string { result := make([]byte, n) for i := 0; i < n; i++ { result[i] = bytes[rand.Int31()%62] } return string(result) } // 方法二 func RandStr2(n int) string { result := make([]byte, n/2) rand.Read(result) return hex.EncodeToString(result) } func TestRandom32(t *testing.T) { fmt.Println(RandStr1(32)) } func TestAppKey(t *testing.T) { appId := "screen" appKey := "zjIWxbpOxE9lQaRuiO1lLmed7UqWYVjo" secrate := GenSecretKey(appId, appKey) t.Error("xxxxx") fmt.Printf("appId %s key: %s => %s \n", appId, appKey, secrate) } func TestEncode(t *testing.T) { secrate := "rxk1ly9+IPbBMJkcyUS53wYrh1owMDAwMDAwMDAwMDA=" c, e := Encode(secrate, []byte("hello world")) if e != nil { t.Error(e) } fmt.Printf("encoded => %s \n", c) ret, e := Decode(secrate, c) if e != nil { t.Error(e) } fmt.Printf("decode => %s \n", string(ret)) }