首页 > 其他分享 >JWT相关

JWT相关

时间:2023-09-22 20:56:09浏览次数:28  
标签:令牌 加密 JWT 信息 token 签名 相关

概念

JWT 是⼀个开放标准,它定义了⼀种⽤于简洁,⾃包含的⽤于通信双⽅之间以 JSON 对象的形式安全传递信息的⽅法。 可以使⽤ HMAC 算法或者是 RSA 的公钥密钥对进⾏签名。 优点:
  • ⽣产的token可以包含基本信息,⽐如id、⽤户昵称、头像等信息,避免再次查库
  • 存储在客户端,不占⽤服务端的内存资源

缺点:

  • token是经过base64编码,所以可以解码,因此token加密前的对象不应该包含敏感信息,如⽤户权限,密码等
  • 如果没有服务端存储,则不能做登录失效处理,除⾮服务端改秘钥

 

组成

header+payload+signature  头部+负载+签名 头部:主要是描述签名算法 负载:主要描述是加密对象的信息,如⽤户的id等,也可以加些规范⾥⾯的东⻄,如iss签发者,exp 过期时间,sub ⾯向的⽤户 签名:主要是把前⾯两部分进⾏加密,防⽌别⼈拿到token进⾏base解密后篡改token   需注意,正因为签名的存在,保证了JWT的不可篡改性,JWT默认不加密,因此一般不存放私密信息。  

问题与趋势

1、JWT默认不加密,但可以加密。生成原始令牌后,可以使用改令牌再次对其进行加密。

2、当JWT未加密方法是,一些私密数据无法通过JWT传输。

3、JWT不仅可用于认证,还可用于信息交换。善用JWT有助于减少服务器请求数据库的次数。

4、JWT的最大缺点是服务器不保存会话状态,所以在使用期间不可能取消令牌或更改令牌的权限。也就是说,一旦JWT签发,在有效期内将会一直有效。

5、JWT本身包含认证信息,因此一旦信息泄露,任何人都可以获得令牌的所有权限。为了减少盗用,JWT的有效期不宜设置太长。对于某些重要操作,用户在使用时应该每次都进行进行身份验证。

6、为了减少盗用和窃取,JWT不建议使用HTTP协议来传输代码,而是使用加密的HTTPS协议进行传输。

 


参考文章:https://www.jianshu.com/p/d1644e281250

标签:令牌,加密,JWT,信息,token,签名,相关
From: https://www.cnblogs.com/Explosion556/p/17723334.html

相关文章

  • Competition Set - 数学相关
    CF645FLink&Submission.利用\(\sum\limits_{d|n}\varphi(\frac{n}{d})=n\),只要对每个数\(x\),求出\(cnt_x\)表示\(x\)的倍数数目,然后\(\sum\limits_{x}\varphi(x)C_{cnt_x}^k\)就是答案。每加入一个数进行修改,\(O(\sqrtn)\)枚举因数即可。CF724GLink&Submission.考......
  • JsonConvert相关操作
    #序列化时,忽略jsonproperty特性的作用:publicstaticclassJsonConvertExtension{publicstaticstringCustomSerialize(objectobj){JsonSerializerSettingssettings=newJsonSerializerSettings();settings.Formatting......
  • drf - 基于自定义表编写认证类、jwt源码剖析
    补充点翻译函数; 只要做了国际化处理,就会显示当前国家的语言fromdjango.utils.translationimportgettext_lazyas_msg=_('Signaturehasexpired.')#_是函数的别名,这个函数是翻译函数,只要做了国际化处理,它就是中文基于自定义表编写认证类classAuthAuthent......
  • drf - jwt自定义表签发、jwt 多方式登录(auth的user表)
    jwt自定义表签发1、导入模块: fromrest_framework_jwt.settingsimportapi_settings2、写一个属性:jwt_payload_handler=api_settings.JWT_PAYLOAD_HANDLERjwt_encode_handler=api_settings.JWT_ENCODE_HANDLER3、登录逻辑:classUserViews(ViewSet):......
  • 3-Linux文档查看指令,关机重启、相关知识点的拓展与总结
    一、文档的查看指令1、tail指令作用:查看一个文件的末n行语法:#tail-n文件的路径说明:-n可以不写,不写,默认表示10行。案例:新建一个1.txt文档,使用tail指令查看root/1.txt文件的末5行和末10行tail-5/root/1.txttail/root/1.txt2、head指令作用:查看文件的头n行语法:#hea......
  • CadQuery Concepts相关概念
    三维BREP拓扑概念CadQuery基于OpenCascade内核,它对对象使用边界表示(BREP)。这只是意味着对象是由它们的封闭表面定义的。1.vertex:asinglepointinspace顶点:几何中的某个点2.edge:aconnectionbetweentwoormoreverticesalongaparticularpath(calledacurve)......
  • 高中数学 - 集合相关数学符号备忘
    元素与集合集合一般用A,B,C,D等这样的大写字母表示。常见的数集:C-复数集,R-实数集, N-非负整数集, Q-有理数集,Z-整数集集合元素一般用a,b,c,d等这样的小写字母表示元素a属于集合A,用a∈A表示元素a不属于集合A,用a∉A表示 集合运算两个集合的交集:∩两个集合的并集:......
  • drf之jwt使用
    目录简介JWT构成JWT的使用安装快速使用定制返回格式jwt认证类简介Jsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服......
  • 【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(四)
    ​贴接上回。。。 【往期FAQ参考】【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(一)【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(二)【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(三) 【本期FAQ】1、JS服务卡片能实现按钮触摸时更换背景色,离开恢复原来......
  • jwt配置及代码模板
    jwt配置及代码模板jwt工具类的使用依赖<dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.6.0</version></dependency>application.properties配置jwt.config.key=userlogin......