JWT签名算法中HS256和RS256有什么区别

JWT签名算法中,一般有两个选择,一个采用HS256,另外一个就是采用RS256。
签名实际上是一个加密的过程,生成一段标识(也是JWT的一部分)作为接收方验证信息是否被篡改的依据。

RS256 (采用SHA-256 的 RSA 签名) 是一种非对称算法, 它使用公共/私钥对: 标识提供方采用私钥生成签名, JWT 的使用方获取公钥以验证签名。由于公钥 (与私钥相比) 不需要保护, 因此大多数标识提供方使其易于使用方获取和使用 (通常通过一个元数据URL)。
另一方面, HS256 (带有 SHA-256 的 HMAC 是一种对称算法, 双方之间仅共享一个 密钥。由于使用相同的密钥生成签名和验证签名, 因此必须注意确保密钥不被泄密。

在开发应用的时候启用JWT,使用RS256更加安全,你可以控制谁能使用什么类型的密钥。另外,如果你无法控制客户端,无法做到密钥的完全保密,RS256会是个更佳的选择,JWT的使用方只需要知道公钥。

由于公钥通常可以从元数据URL节点获得,因此可以对客户端进行进行编程以自动检索公钥。如果采用这种方式,从服务器上直接下载公钥信息,可以有效的减少配置信息。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数字证书就是网络通讯中标志通讯各方身份信息的一系列数据,其作用类似于现实生活中的身份证。它是由一个权威机构发行的,...
    拉肚阅读 21,595评论 1 17
  • 加密数据的目的是防止发给对方的隐私信息被他人看到;发布签名的目的是向对方证明这段消息确实是你发的。 一、加密算法 ...
    Taeyeon37阅读 5,218评论 0 1
  • 在国内互联网(BAT)三家巨头中,我们熟知马化腾是其中最低调的一个科技大佬了。马云的知名度不必说,能说会道,无论在...
    林路同阅读 3,780评论 0 0
  • 心平气和地躺在床上抱着那看了许久仍未看完的书,时不时蹦出的字眼总能让思绪飘飞与顿感伤感。 一个人独处了将近五年,慢...
    Angel徐阅读 1,783评论 0 1
  • 大家好我是T59班学习部长兼3组组长王焕,我的三个标签:高中政治教师,2岁半女宝宝妈,时间管理初学者。很幸运能够学...
    忆星云阅读 2,662评论 0 0

友情链接更多精彩内容