ToB企服应用市场:ToB评测及商务社交产业平台
标题:
app与后台的token、sessionId、RSA加密登录认证与安全解决方案
[打印本页]
作者:
圆咕噜咕噜
时间:
2024-6-14 22:32
标题:
app与后台的token、sessionId、RSA加密登录认证与安全解决方案
1.2 登录保持
在最原始的方案中, 登录保持仅仅靠服务器生成的sessionId: 客户端的请求中带上sessionId, 如果服务器的redis中存在这个id,就以为请求来自相应的登录客户端。 但是只要sessionId被截获, 请求就可以为伪造, 存在安全隐患。
引入token后,上述题目便可得到解决。 服务器将token和其它的一些变量, 使用散列加密算法得到署名后,连同sessionId一并发送给服务器; 服务器取出保存于服务器端的token,使用雷同的法则生成校验署名, 如果客户端署名与服务器的校验署名同等, 就以为请求来自登录的客户端。
1.3 TOKEN失效
用户登录出系统
失效原理:
在服务器端的redis中删除相应key为session的键值对。
二、 散列算法
=======
散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部门的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的显着变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有雷同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。
散列算法可以用来加密token生成署名, 以便token信息不袒露在网络同时还能验证登录的有用性。
2.1 md5
全写: Message Digest Algorithm MD5(中文名为消息摘要算法第五版)
输出: 128bit
MD5算法具有以下特点:
压缩性:恣意长度的数据,算出的MD5值长度都是固定的。
容易计算:从原数据计算出MD5值很容易。
抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
弱抗碰撞:已知原数据和其MD5值,想找到一个具有雷同MD5值的数据(即伪造数据)好坏常困难的。
强抗碰撞:想找到两个不同的数据,使它们具有雷同的MD5值,好坏常困难的。
缺陷:
Md5一度被以为十分靠谱。
2004年8月17日的美国加州圣巴巴拉的国际暗码学集会(Crypto’2004)上,来自中国山东大学的王小云传授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,公布了MD系列算法的破解结果。
2009年,冯登国、谢涛二人使用差分攻击,将MD5的碰撞算法复杂度从王小云的242进一步降低到221,极端环境下以致可以降低至210。仅仅221的复杂度意味着即便是在2008年的计算机上,也只要几秒便可以找到一对碰撞。
Md5已老, 在安全性要求较高的场所,不建议使用。
2.2 sha1
全名: 安全哈希算法(Secure Hash Algorithm)
输出: 160bit
2.2.1 与Md5比力
雷同点:
因为二者均由MD4导出,SHA-1和MD5相互很相似。相应的,他们的强度和其他特性也是相似。
不同点:
1. 对强行攻击的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要即是给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。这样,SHA-1对强行攻击有更大的强度。
2. 对暗码分析的安全性:由于MD5的计划,易受暗码分析的攻击,SHA-1显得不易受这样的攻击。
3. 速度:在雷同的硬件上,SHA-1的运行速度比MD5慢
2.3 加盐
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里不停到现在。
深知大多数初中级安卓工程师,想要提拔技能,往往是自己摸索发展,但自己不成体系的自学结果低效又漫长,而且极易遇到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开辟全套学习资料》送给各人,初志也很简单,就是希望能够帮助到想自学提拔又不知道该从何学起的朋侪,同时减轻各人的负担。
由于文件比力大,这里只是将部门目录截图出来,每个节点里面都包罗大厂面经、学习笔记、源码讲义、实战项目、解说视频
如果你以为这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
学习福利
【Android 详细知识点思维脑图(技能树)】
实在Android开辟的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
固然 Android 没有前几年火热了,已经已往了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,
现在高级工程师还是比力缺少的
,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
这里附上上述的面试题相干的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(现实上比预期多花了不少精力),包罗知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给各人展示一小部门。
详细整理在GitHub点击可见;
Android架构视频+BAT面试专题PDF+学习笔记
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。希望这份系统化的技术体系对各人有一个方向参考。
Android架构视频+BAT面试专题PDF+学习笔记
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。希望这份系统化的技术体系对各人有一个方向参考。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4