码迷,mamicode.com
首页 > Web开发 > 详细

JSON Web Tokens简单学习

时间:2018-08-21 15:09:12      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:bsp   image   头部   加密算   安装   algo   负载   header   info   

 

 

JWT用于加密生成安全认证的令牌,存储登录验证成功的部分用户信息

  一、安装JWT

    技术分享图片

 

  二、加密 解密 代码

  

 /*存储在加密字符串的信息*/
            var payload = new Dictionary<string, object> {
                { "UserName","Test"},
                { "Sex","Boy"}
            };

            //密钥
            var secretKey = new byte[] { 164, 60, 194, 0, 161, 41, 38, 130, 89, 141, 164, 45, 170, 159, 209, 69, 137, 243, 216, 191, 131, 47, 250, 32, 107, 231, 117, 37, 158, 225, 234 };
            
            string token = Jose.JWT.Encode(payload, secretKey, JwsAlgorithm.HS256);

            Console.WriteLine("加密得到的Token:"+token);

            string json = JWT.Decode(token, secretKey);
            Console.WriteLine("解密得到的字符串:" + json);
            Console.ReadLine();

运行结果:

技术分享图片

加密后的Token分为三部分 :Header 头部、Payload 负载、Signature 签名

  1、头部存储的token 类型和采用的加密算法,使用的是Base64Url 编码

  技术分享图片

  2、负载存储的是用户信息、标识,使用的是Base64Url 编码。

  3、签名使用header中指定签名算法进行签名,签名用于消息的发送者以及消息没有经过篡改。

 

总结:JWT的加密个人认为不够安全,头部和负载使用的是Base64Url 编码。

  

 

JSON Web Tokens简单学习

标签:bsp   image   头部   加密算   安装   algo   负载   header   info   

原文地址:https://www.cnblogs.com/tangchun/p/9510933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!