使用RSA算法生成令牌
生活随笔
收集整理的這篇文章主要介紹了
使用RSA算法生成令牌
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JWT令牌
(1)創建令牌數據
在user-oauth工程中創建測試類com.token.CreateJwtTest,使用它來創建令牌信息,代碼如下:
public class CreateJwtTest {/**** 創建令牌測試*/@Testpublic void testCreateToken(){//證書文件路徑String key_location="leon.jks";//秘鑰庫密碼String key_password="leon";//秘鑰密碼String keypwd = "leon";//秘鑰別名String alias = "leon";//訪問證書路徑ClassPathResource resource = new ClassPathResource(key_location);//創建秘鑰工廠KeyStoreKeyFactory keyStoreKeyFactory = new KeyStoreKeyFactory(resource,key_password.toCharArray());//讀取秘鑰對(公鑰、私鑰)KeyPair keyPair = keyStoreKeyFactory.getKeyPair(alias,keypwd.toCharArray());//獲取私鑰RSAPrivateKey rsaPrivate = (RSAPrivateKey) keyPair.getPrivate();//定義PayloadMap<String, Object> tokenMap = new HashMap<>();tokenMap.put("id", "1");tokenMap.put("name", "leon");tokenMap.put("roles", "ROLE_VIP,ROLE_USER");//生成Jwt令牌Jwt jwt = JwtHelper.encode(JSON.toJSONString(tokenMap), new RsaSigner(rsaPrivate));//取出令牌String encoded = jwt.getEncoded();System.out.println(encoded);} }運行后的結果如下:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlcyI6IlJPTEVfVklQLFJPTEVfVVNFUiIsIm5hbWUiOiJpdGhlaW1hIiwiaWQiOiIxIn0.IR9Qu9ZqYZ2gU2qgAziyT38UhEeL4Oi69ko-dzC_P9-Vjz40hwZDqxl8wZ-W2WAw1eWGIHV1EYDjg0-eilogJZ5UikyWw1bewXCpvlM-ZRtYQQqHFTlfDiVcFetyTayaskwa-x_BVS4pTWAskiaIKbKR4KcME2E5o1rEek-3YPkqAiZ6WP1UOmpaCJDaaFSdninqG0gzSCuGvLuG40x0Ngpfk7mPOecsIi5cbJElpdYUsCr9oXc53ROyfvYpHjzV7c2D5eIZu3leUPXRvvVAPJFEcSBiisxUSEeiGpmuQhaFZd1g-yJ1WQrixFvehMeLX2XU6W1nlL5ARTpQf_Jjiw?
總結
以上是生活随笔為你收集整理的使用RSA算法生成令牌的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从证书中导出公钥并存放到项目中
- 下一篇: 使用RSA算法解析令牌