package jwt import ( "fmt" "github.com/fonchain_enterprise/blockchain-main/pkg/common/m" "math/rand" "testing" "time" ) func TestParseToken(t *testing.T) { // 获取当前时间戳,精确到纳秒 nanoTimestamp := time.Now().UnixNano() // 将纳秒时间戳转换为毫秒 milliTimestamp := nanoTimestamp / 1e6 // 生成一个随机数,可以根据需要调整随机数的位数 rand.NewSource(time.Now().UnixNano()) randomNumber := rand.Intn(999) // 格式化订单编号(确保格式化后的位数固定) orderID := fmt.Sprintf("%d%03d", milliTimestamp, randomNumber) fmt.Println(orderID) str := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjMzLCJhY2NvdW50IjoiVU1jektDWDVTRHpnZm43eDZkNTFLMTYxaThZNlhjdWVNIiwiZG9tYWluIjoiYXJ0aXN0aW5mbyIsIm5pY2tOYW1lIjoiMTM5NjIzMTA3NjUiLCJwaG9uZSI6IjEzOTYyMzEwNzY1IiwiZXhwIjoxNjg0NzYyMjY2LCJpc3MiOiJtYWxsIn0.8zG3OA9uRJnzxYorQ2_cK6FhQuMlsi7WF8zkIic1ggM" str = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NzAsImFjY291bnQiOiIiLCJkb21haW4iOiJmb250cmVlIiwibmlja05hbWUiOiLogL_pmLMiLCJwaG9uZSI6IjE4MjA1MDUyNjI3IiwiZXhwIjoxNzAxOTMwNjY5LCJpc3MiOiJtYWxsIn0.l9Swlap-e0VWXQK3vtFUVC0nx6gYjUuCGDLezoEni6Q" claims, err := ParseToken(str, m.JWTSecret) fmt.Println(err) fmt.Println(claims) } func TestParseToken2(t *testing.T) { ss, _ := GenerateToken(70, "", "fontree", "耿阳"+ "", m.TokenTime, "18205052627", m.JWTSecret) //fmt.Println(ss, err) claims, err := ParseToken(ss, m.JWTSecret) fmt.Println(claims, err) fmt.Println("1------------") } func TestRefreshToken(t *testing.T) { str1, err := GenerateRefreshToken(70, "fontree", 20, m.JWTSecret) fmt.Println(str1, err) //str := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjMzLCJhY2NvdW50IjoiVU1jektDWDVTRHpnZm43eDZkNTFLMTYxaThZNlhjdWVNIiwiZG9tYWluIjoiYXJ0aXN0aW5mbyIsIm5pY2tOYW1lIjoiMTM5NjIzMTA3NjUiLCJwaG9uZSI6IjEzOTYyMzEwNzY1IiwiZXhwIjoxNjg0NzYyMjY2LCJpc3MiOiJtYWxsIn0.8zG3OA9uRJnzxYorQ2_cK6FhQuMlsi7WF8zkIic1ggM" //claims, err := ParseRefreshToken(str1, m.JWTSecret) claims, err := ParseToken(str1, m.JWTSecret) fmt.Println(err) fmt.Println(claims) }