1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| package main
import ( "fmt" "jwt/jwts" "jwt/screte" "os" "time"
"github.com/golang-jwt/jwt/v4" )
func main() { data := &jwts.Data{ Name: "lin", Age: 8, Gender: 1, RegisteredClaims: jwt.RegisteredClaims{ ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Hour)), IssuedAt: jwt.NewNumericDate(time.Now()), NotBefore: jwt.NewNumericDate(time.Now()), }, } var err error var sign string outData := &jwts.Data{}
hs := jwts.HSJwt{ Key: "123456", SignMethod: jwts.HS512, } sign, err = hs.Sign(data) fmt.Println(sign, err) err = hs.Verify(sign, outData) fmt.Println(outData, err) privateKey, _ := os.ReadFile("keys/RS/private_key.pem") publicKey, _ := os.ReadFile("keys/RS/public_key.pem") rs := jwts.RSJwt{ SignMethod: jwts.RS384, PrivateKey: string(privateKey), PublicKey: string(publicKey), } sign, err = rs.Sign(data) fmt.Println(sign, err) err = rs.Verify(sign, outData) fmt.Println(outData, err) privateKey, _ = os.ReadFile("keys/ES/private_key.pem") publicKey, _ = os.ReadFile("keys/ES/public_key.pem") es := jwts.ESJwt{ SignMethod: jwts.ES512, PrivateKey: string(privateKey), PublicKey: string(publicKey), } sign, err = es.Sign(data) fmt.Println(sign, err) err = es.Verify(sign, outData) fmt.Println(outData, err) privateKey, _ = os.ReadFile("keys/ED/private_key.pem") publicKey, _ = os.ReadFile("keys/ED/public_key.pem") ed := jwts.EDJwt{ PrivateKey: string(privateKey), PublicKey: string(publicKey), } sign, err = ed.Sign(data) fmt.Println(sign, err) err = ed.Verify(sign, outData) fmt.Println(outData, err) }
func GenerateSkeys() { hs := screte.HsGenerator{ Length: 16, } res, err := hs.Generate() fmt.Println(res, err)
rs := screte.RsGenerator{} res, err = rs.Generate() fmt.Println(res, err)
es := screte.EsGenerator{ SigningMethod: screte.ES512, } res, err = es.Generate() fmt.Println(res, err)
ed := screte.EdGenerator{} res, err = ed.Generate() fmt.Println(res, err) }
|