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 编码。
原文地址:https://www.cnblogs.com/tangchun/p/9510933.html
时间: 2024-11-06 15:34:28