RSA的简单认识

RSA是一种非对称加密算法,密钥分为公钥和私钥,私钥加密的内容,只有用公钥或者私钥来解密,公钥加密的内容,只能用私钥来解密,公钥可以发送给别人,私钥一定要保存着自己手里。

举个例子,别人想和我发信息,所以我先给别人一个带锁的箱子,这个箱子就是公钥,箱子的钥匙就是私钥,私钥一直在我手里,这样,即使在信息的传输过程中被窃取了,由于没有私钥,也无法解密。

RSA 也可以用来为一个消息签名。

对消息字符串的散列值(Message digest,用 MD5、SHA256 等算法求得的长度较短且固定的字符串)使用 RSA 的私钥计算签名(实际上仍然是加密消息)后,得到一个签名字符串,将其附加在消息字符串的合适位置后,一并发送。接收方使用对应的公钥可以从签名字符串中解密出原来的散列值,同时对原始消息再计算一次散列值。二者相比较,假如两者相符的话,则认为发信人持有正确的私钥,并且这个消息在传播路径上没有被篡改过。
 

 

RSA可以结合JWT实现服务的权限认证,其流程大致如下:

1.用户登录,信息传送到权限认证模块,若账号密码都正确,在数据库搜索出需要的用户信息,如用户的名称,用户的id等。

2.再用私钥对用户的身份信息进行加密,生成token,发送给用户,并且在其他的服务上都包有一份公钥

3.用户访问其他服务都会携带token,其他服务可以根据自身的公钥对token解析,并且验证token的签名

假如别人窃取并修改了token信息,那么访问服务时,服务就无法解析出来,就会验证失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值