token(令牌)和sign(签名)理解

本文介绍了Token和Sign在身份验证中的作用。Token用于标识用户身份,登录成功后生成并存储,接口根据Token验证用户请求。Sign则是服务端确保请求来自可信源的手段,通过统一加密规则验证请求的合法性。推荐使用jsrsasign库进行加密和签名操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

token(令牌)和sign(签名)理解

Token:令牌

用来判断用户身份的一个标识;
用户在登录的时候登录,成功的情况下生成一个token(可以是将用户信息加密,也可以是别的方式),将token返还给客户端,同时将token和用户id和时间戳存入,token表。
用户可以根据token向接口发送请求,接口在接受请求的时候,生成时间戳,验证该token在token表中是否过期,若过期则让用户重新登录,删除该token,并见新的token和新的时间戳和用户id再次存入token表。
若用户没有登录直接向接口发送请求,则没有token,接口在接受到请求的时候判断是否有token,若没有则提示用户没有登录,跳转至登录页面,让用户登录。

Sign:签名

服务端在接受到用户请求的时候判断该请求是否是来自于自己允许的平台(自己允许的平台有统一的加密规则)
客户端在向接口发送请求的时候带上参数
(参数可以是用户信息和时间戳,时间戳在第一次使用的时候就应赋值给一个变量,以后每次使用时间戳就使用该变量,因为如果每次直接调用时间戳time(),则每次得到的时间戳都不一样)。
和sign(sign内容为请求时带上的参数和token进行统一加密后的字符串),接口在接受到参数和sign后,先比较接受到的时间戳和当前时间戳,若相差超过规定时间则请求超时,让用户重新发送请求。
若对比时间戳后没有超时,则用自己统一的加密规则将接受到的参数加密(可以是用户信息和接收到的时间戳)和库中查询的到token进行处理,,处理完成后的字符串和接收到的sign进行对比,若不一样,拒绝该请求,若一样则说明正常请求,响应请求返还用户所需要的数据

推荐库

jsrsasign

简介:

“ jsrsasign”(RSA-Sign JavaScript库)是一个开源免费的纯JavaScript密码库,支持RSA / RSAPSS / ECDSA / DSA签名/验证,ASN.1,PKCS#1/5/8私钥/公钥,X.509证书,CRL,CMS SignedData,时间戳和CAdES以及JSON Web签名(JWS)/令牌(JWT)/密钥(JWK)。

教程

jsrsasign使用笔记(加密,解密,签名,验签)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值