日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSON Web Token (JWT)生成Token及解密实战

發(fā)布時間:2023/12/3 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON Web Token (JWT)生成Token及解密实战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自?JSON Web Token (JWT)生成Token及解密實戰(zhàn)

昨天講解了JWT的介紹、應(yīng)用場景、優(yōu)點及注意事項等,今天來個JWT具體的使用實踐吧。

從JWT官網(wǎng)支持的類庫來看,jjwt是Java支持的算法中最全的,推薦使用,網(wǎng)址如下。

https://github.com/jwtk/jjwt

下面來看看如何使用jjwt來實現(xiàn)JWT token的生成與解密,主要用到sha512算法來演示。

1、導(dǎo)入jjwt的maven包。

<dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.0</version> </dependency>

注意:JJWT依賴Jackson 2.x,低版本將報錯。

2、建立一個JWTTest測試類。

3、創(chuàng)建密鑰;

這里使用sha512算法,所以需要一個密鑰。

Key KEY = new SecretKeySpec("javastack".getBytes(),SignatureAlgorithm.HS512.getJcaName());

這樣就生成了一個固定的密鑰:javastack

4、生成JWT token。

核心代碼如下:

Map<String, Object> stringObjectMap = new HashMap<>(); stringObjectMap.put("type", "1"); String payload = "{\"user_id\":\"1341137\", \"expire_time\":\"2018-01-01 0:00:00\"}"; String compactJws = Jwts.builder().setHeader(stringObjectMap) .setPayload(payload).signWith(SignatureAlgorithm.HS512, KEY).compact(); System.out.println("jwt key:" + new String(KEY.getEncoded())); System.out.println("jwt payload:" + payload); System.out.println("jwt encoded:" + compactJws);

注意:header可以不用設(shè)置,claims不能和payload同時設(shè)置。

輸出結(jié)果:

jwt key:javastack jwt payload:{"user_id":"1341137", "expire_time":"2018-01-01 0:00:00"} jwt encoded:eyJ0eXBlIjoiMSIsImFsZyI6IkhTNTEyIn0.eyJ1c2VyX2lkIjoiMTM0MTEzNyIsICJleHBpcmVfdGltZSI6IjIwMTgtMDEtMDEgMDowMDowMCJ9.cnyXRnwczgNcNYqV6TUY2MaMfk6vujsZltC8Q51l40dwYJg516oZcV4VDKOypPT8fD7AE63PIhfdm2ALVrfv5A

5、解密JWT token內(nèi)容。

核心代碼如下:

Jws<Claims> claimsJws = Jwts.parser().setSigningKey(KEY).parseClaimsJws(compactJws); JwsHeader header = claimsJws.getHeader(); Claims body = claimsJws.getBody(); System.out.println("jwt header:" + header); System.out.println("jwt body:" + body); System.out.println("jwt body user-id:" + body.get("user_id", String.class));

輸出結(jié)果:

jwt header:{type=1, alg=HS512} jwt body:{user_id=1341137, expire_time=2018-01-01 0:00:00} jwt body user-id:1341137

再用密文去JWT官網(wǎng)的調(diào)試器解密一下,看是否成功。

解密成功,其他算法使用邏輯一樣,這樣我們可以使用JWT來實現(xiàn)不同服務(wù)之間數(shù)據(jù)的安全傳遞。


總結(jié)

以上是生活随笔為你收集整理的JSON Web Token (JWT)生成Token及解密实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本强好片久久久久久aaa | 看免费黄色片 | 国产精品天美传媒入口 | 成人免费观看视频网站 | 福利在线国产 | 免费在线播放毛片 | 国产尤物视频 | 69免费| 国久久久 | 91国内精品野花午夜精品 | 国产精品网站在线 | 99久久婷婷国产精品综合 | 国产亚洲二区 | 久久综合成人 | 日本激情一区二区三区 | 97综合 | 国产21页 | 欧美综合一区 | 日韩美女一级片 | 婷婷国产 | 欧美性69 | 一本之道av | 天天爱夜夜爽 | 国产精品毛片久久久久久 | 日本体内she精高潮 男女视频在线免费观看 | 在线观看av免费 | 成人精品一区二区三区中文字幕 | 国产精品久久久久久 | 手机看片99 | 黄色免费在线网站 | 成年人视频在线免费观看 | 伊人免费视频 | 一级午夜 | 日韩欧美成人精品 | 欧美黑人xxxⅹ高潮交 | 久久精品亚洲一区 | 亚洲综合天堂 | 婷婷丁香花五月天 | 91麻豆精品国产91久久久无需广告 | 国产免费a视频 | 秋霞一区二区三区 | 乌克兰av在线 | 日本精品不卡 | 黄色亚洲精品 | 秋霞成人午夜伦在线观看 | 欧美色图国产精品 | 亚洲日日夜夜 | av第一区 | 黄页网站在线播放 | 亚洲成人乱码 | 99精品久久久久久 | 黄色片子免费看 | 国产剧情一区在线 | 成人av自拍 | 国产午夜精品无码 | 三级国产视频 | 欧美精品在线一区二区 | 91红桃视频 | 国外av在线 | 日韩人妻无码精品久久久不卡 | 亚洲成a人片 | 粉嫩av蜜桃av蜜臀av | 美女88av| 亚洲毛片在线 | 日韩精品一区在线播放 | 天天综合网久久综合网 | 女女同性女同一区二区三区按摩 | 三级免费黄录像 | 黄色骚视频 | 日韩精品大片 | 日本在线网站 | 亚洲一区二区三区四区在线播放 | 中文字幕被公侵犯的漂亮人妻 | 秋霞av鲁丝片一区二区 | 午夜国产免费 | 麻豆国产精品777777在线 | 一本久道视频一本久道 | 日日爽视频 | av播播| 欧美成人三级在线视频 | www.色99| 欧美交换配乱吟粗大25p | 亚洲h动漫 | 免费性视频 | 色女人影院 | 黄色在线观看视频网站 | 午夜av导航 | jlzzjizz在线播放观看 | 性色一区二区三区 | 国精产品一区一区三区mba下载 | 激情网色 | 亚洲再线| 日韩操操操 | 91精品区| 果冻av在线 | av网站有哪些| 色综合av综合无码综合网站 | 国产操| 边添小泬边狠狠躁视频 |