当前位置: 首页 > news >正文

谁帮助汉字叔叔做网站统计网站访问量

谁帮助汉字叔叔做网站,统计网站访问量,主题资源网站建设步骤,广州做网站制作文章目录 初始化项目加密一步一步编写程序另一个参数--加密方式关于StandardClaims 解密解析出来的怎么用关于`MapClaims`上面使用结构体的全代码实战项目关于验证这个项目的前端初始化项目 自然第一步是暗转jwt-go的依赖啦 #go get github.com/golang-jwt/jwt/v5 go get githu…

文章目录

    • 初始化项目
    • 加密
      • 一步一步编写程序
      • 另一个参数--加密方式
      • 关于StandardClaims
    • 解密
      • 解析出来的怎么用
    • 关于`MapClaims`
    • 上面使用结构体的全代码
    • 实战项目
    • 关于验证这个项目的前端

初始化项目

自然第一步是暗转jwt-go的依赖啦

#go get github.com/golang-jwt/jwt/v5
go get github.com/dgrijalva/jwt-go

加密

一步一步编写程序

  1. 首先在main()函数中写入
package mainimport ("github.com/dgrijalva/jwt-go"
)func main() {//jwt.NewWithClaims(Claims)jwt.NewWithClaims()
}

查看jwt.NewWithClaims()函数
在这里插入图片描述

Claims基础结构

package mainimport ("github.com/dgrijalva/jwt-go"
)type MyClaims struct {jwt.StandardClaims
}func main() {//jwt.NewWithClaims(Claims)jwt.NewWithClaims()
}

另一个参数–加密方式

package mainimport ("github.com/dgrijalva/jwt-go"
)type MyClaims struct {UserName string `json:"username"`jwt.StandardClaims
}func main() {//jwt.NewWithClaims(加密方式,Claims)jwt.NewWithClaims(jwt.SigningMethodHS256,MyClaims) //当然这里不能是结构体(MyClaims)而是结构体实例
}

关于StandardClaims

type StandardClaims struct {Audience  string `json:"aud,omitempty"`	//ExpiresAt int64  `json:"exp,omitempty"` //过期时间Id        string `json:"jti,omitempty"` //IssuedAt  int64  `json:"iat,omitempty"` //Issuer    string `json:"iss,omitempty"` //签发人NotBefore int64  `json:"nbf,omitempty"` //什么时间开始生效Subject   string `json:"sub,omitempty"` //
}
package mainimport ("fmt""github.com/dgrijalva/jwt-go""time"
)type MyClaims struct {UserName string `json:"username"`jwt.StandardClaims
}func main() {c := MyClaims{UserName: "AllYourBase",StandardClaims: jwt.StandardClaims{NotBefore: time.Now().Unix() - 60,      //当前时间的一分钟之前生效ExpiresAt: time.Now().Unix() + 60*60*2, //当前时间的俩小时Issuer:    "AllYourBase",               //用户名},}//jwt.NewWithClaims(加密方式,Claims)token := jwt.NewWithClaims(jwt.SigningMethodHS256, c)fmt.Println(token)
}

这样我们的token就基本完成了,打印输出

&{ 0xc000008090 map[alg:HS256 typ:JWT] {chen { 1703288998  0 chen 1703296138 }}  false}

map[alg:HS256 typ:JWT]:头
{chen { 1703288998 0 chen 1703296138 }}:体
0xc000008090:加密串

我们要丢给前端使用肯定不行,所以要加密
加密部分(token来自于前面的代码)

mySigningKey := []byte("AllYourBase")
//token.SignedString(key)  //key:官方让我们放一个byte
s, err := token.SignedString(mySigningKey)
if err != nil {fmt.Printf("%s", err)
}
fmt.Println(s)
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImNoZW4iLCJleHAiOjE3MDMyODk0MzUsImlzcyI6ImNoZW4iLCJuYmYiOjE3MDMyOTY1NzV9.ZeMpAIzPyRoIQSjDctIuQEHxzYRaKQ9McqBfoq3SzCI

生成的这个加密就可以丢给前端去使用了

解密

如果前端吧串丢回来了怎么解密?

jwt.ParseWithClaims(token,解析的模板,func(token *jwt.Token)(interface{},error){})

写法

jwt.ParseWithClaims(s,&MyClaims,func
http://www.hkea.cn/news/187711/

相关文章:

  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库
  • 成都网站建设市场什么是网络营销的核心
  • 深圳找人做网站廊坊优化外包
  • 衡阳市城市建设投资有限公司网站湖南企业seo优化报价
  • css做网站常用百度权重优化软件
  • 合合肥网站建设制作网站用什么软件
  • 杭州网站设计公司推荐网络推广与优化
  • 移动惠生活app下载网址荆门网站seo
  • 做网站很赚钱吗关键词自助优化
  • wordpress小工具里的用户中心南京谷歌优化