zoukankan      html  css  js  c++  java
  • 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 编码。

      

  • 相关阅读:
    docker容器的应用
    KVM虚拟机迁移
    centos6.5虚拟机快照技术
    centos6.5网络虚拟化技术
    centos6.5制作OpenStack云平台Windows7镜像
    centos6.5远程桌面连接(VNCSPice)
    centos6.5kvm虚拟化技术
    centos7安装Jenkins及其卸载(yum和rpm安装)
    CentOS 7安装JDK
    [leetcode]Reverse Nodes in k-Group
  • 原文地址:https://www.cnblogs.com/tangchun/p/9510933.html
Copyright © 2011-2022 走看看