美文网首页
token 加密解密

token 加密解密

作者: monkeyfly36 | 来源:发表于2020-10-10 15:25 被阅读0次

\color{red}{eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9}.
\color{green}{eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9}.
\color{blue}{TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ} (三种不同的信息)
第一部分:红色 令牌Header--头部包含所使用的签名算法和令牌的类型
{ "alg": "HS256", "typ": "JWT"} 经过Base64Url 编码以后,结果大致如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

第二部分:绿色 载荷payload--数据实体
{
data: { username: 'abc', password: '111111' },
exp: 1591933872,
iat: 1591930272
}

//base64解密--将JWT切割   获取需要的载荷
let user = decodeURIComponent(escape(atob(msg.split('.')[1])))
const { exp } = JSON.parse(user)      

注:atob:ASCII-to-Binary 解密-返回一个正常字符串;
btoa:Binary-to-ASCII 加密-返回一个 Base64 表示的字符串

第三部分:蓝色 签名Signature--是对前两部分的防篡改签名。将Header和Payload用Base64URL编码后,再用点(.)连接起来。然后使用签名算法和密钥对这个字符串进行签名。
signature = hmac_sha256(base64encode(header) + '.' + base64encode(payload), 'MY_SUPER_SECRET_KEY')
注:这个密钥(MY_SUPER_SECRET_KEY)只有服务器才知道,不能泄露给用户。

相关文章

  • token 加密解密

    .. (三种不同的信息)第一部分:红色 令牌Header--头部包含所使用的签名算法和令牌的类型{ "alg":...

  • 鉴权token和refresh_token

    每次访问鉴权使用token,token使用aes对称加密,鉴权时直接解密得到uid,无需访问数据库验证,鉴权tok...

  • AES加密代码(.net和java可互转)

    .net加密解密代码 java加密解密代码

  • 最近用到的一些String的一些常用方法

    string的Base64加密/解密 oc 加密 oc解密 swift 加密 swift 解密 oc字典转jso...

  • https简单介绍

    # 对称加密 加密解密使用同一个密钥,速度较快,如aes # 非对称加密 公钥加密,私钥解密,私钥加密,公钥解密,...

  • 加密

    来源于:MD5加密,Base64加密/解密,AES加密/解密

  • idea搭建SSM+TOKEN+Swagger-ui+Mysql

    环境配置 基本框架搭建 可参考本人博客地址 添加TOKEN验证 pom.xml文件加入以下 JWT加密解密工具类 ...

  • 登录检验JWT实战之封装通用方法

    1、加入相关依赖 2、开发生产token方法 3. 测试 加密 解密 //输出值 4. JWT的数据结构 典型的,...

  • Rsa加解密

    /*** Rsa 加解密* 用法:* (1)公钥加密,私钥解密* (2)私钥加密,公钥解密*/class ...

  • iOS开发证书相关总结

    加密、解密 对称加密、非对称加密 对称加密:加密、解密使用相同的密钥;DES、AES(Mac、Windows的磁盘...

网友评论

      本文标题:token 加密解密

      本文链接:https://www.haomeiwen.com/subject/cafjpktx.html