• JSON Web Tokens简单学习


    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 编码。

      

  • 相关阅读:
    记录心得-IntelliJ iDea 创建一个maven管理的的javaweb项目
    记录心得-FastJson分层解析demo示例
    11.05Mybatis注解
    11.03Mybatis标签
    11.04Mybatis resultMap元素
    11.02Mybatis Mapper映射器
    11.02Mybatis SQL执行方式
    10.30Mybatis配置文件及其元素
    10.30Mybatis三要素
    10.29第一个Mybatis程序
  • 原文地址:https://www.cnblogs.com/tangchun/p/9510933.html
Copyright © 2020-2023  润新知