关于数据安全RSA,MD5,TOKEN
网络上明文传输时 1.数据可能被窃取;2.数据可能被篡改;3.数据被泄露
如何解决:
1.数据被窃取是由于数据能随意的被拿到,且能够被识别。可以有2个方式解决
a.使数据不能随意被获取; 使用token令牌的方式。
b.数据就算被拿到了也无法解析; RSA非对称加密。为什么不适用对称加密 DES ? 对称加密的数据容易被做成彩虹表。
如果采用非对称加密了,那么我们自己不是也不知道原始数据了吗,所以我们只针对不需要解密的数据进行RSA加密,如密码。需要校验密码时,只需要拿密文比较就可以了。
那其他业务数据怎么防止窃取就只能通过token的方式了。 2.数据被篡改的前提是数据被窃取了,如果我们不对窃取做控制,需要对篡改做防范,怎么做?
a.只要保证用户传递的数据是真实的就可以了,怎么保证,使用混淆算法 MD5加盐的方式,在服务端以相同规则对数据进行MD5加盐的方式得到数据串来与用户传过来的字符串比较,一致说明数据未篡改。 3.数据泄露问题
大量数据被非授权人获取。
a.授权获取
b.流量限时控制
虽然不能完全杜绝问题,但是可以很好的防范一些数据被泄露。 其实上面的三种方式已经很常见的运用到我们的项目中了,对于登陆,注册接口是对外开放的,是无授权的接口,那么我们采用的是 RSA 防泄露,MD5加盐防篡改;
对于业务接口我们做token访问,限时刷新,且做流量控制。 请求
第三方平台--》明文信息--》公钥加密--》密文信息--》私钥解密--》明文信息--》后台服务
响应 HTTPS 的数据加解密流程,采用的也是RSA
后台服务--》明文--》公钥加密--》密文--》浏览器--》私钥解密--》明文--》显示 注意:在做RSA加密的时候,加密之后的数据是二进制无法在网络上传输,所以需要使用BASE64编码成字符串。
名词解释:
RSA 非对称加解密算法
MD5 混淆算法
token 访问令牌
base64 编码算法
关于数据安全RSA,MD5,TOKEN的更多相关文章
- iOS开发——网络篇——数据安全(MD5),HTTPS,检测网络状态
一.数据安全 1.提交用户的隐私数据一定要使用POST请求提交用户的隐私数据GET请求的所有参数都直接暴露在URL中请求的URL一般会记录在服务器的访问日志中服务器的访问日志是黑客攻击的重点对象之一 ...
- iOS开发 - 网络数据安全加密(MD5)
提交用户的隐私数据 一定要使用POST请求提交用户的隐私数据GET请求的所有参数都直接暴露在URL中请求的URL一般会记录在服务器的访问日志中服务器的访问日志是黑客攻击的重点对象之一 用户的隐私数据登 ...
- iOS常见的几种加密方法(base64.MD5.Token传值.系统指纹验证。。加密)
普通加密方法是讲密码进行加密后保存到用户偏好设置中 钥匙串是以明文形式保存,但是不知道存放的具体位置 一. base64加密 base64 编码是现代密码学的基础 基本原理: 原本是 8个bit 一组 ...
- [转] AES,SHA1,DES,RSA,MD5区别
AES:更快,兼容设备,安全级别高: SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cry ...
- 加密解密 AES RSA MD5 SHA
加密解密: 对称加密:加密和解密相同秘钥.常见算法:AES, XTEA, 3DES. 非对称加密: 公钥加密 私钥加密. 加密和解密秘钥不同.常见算法:RSA OpenSSL> genrsa - ...
- 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用(转载)
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...
- 支付接口中常用的加密解密以及验签rsa,md5,sha
一.常用加密类型分类 1.对称加密:采用单钥对信息进行加密和解密,即同一个秘钥既可以对信息进行加密,也可以进行解密.此类型称之为对称加密.特点速度快,常用于对大量数据信息或文件加密时使用.常用例子:D ...
- 简要介绍DES、RSA MD5 sha1 四种加密算法的优缺点,以及使用场合
美国数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立.密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合.RSA是非对称算法,加密密钥和解密密钥是不 ...
- 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相 ...
随机推荐
- linux C access
[1]作用 确定文件的访问权限 [2]头文件 #include <unistd.h> [3]函数定义 int access(const char * pathname, int mode ...
- <转>jmeter(二十三)分布式测试
本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...
- MySQL插入更新_ON DUPLICATE KEY UPDATE
前提:操作的表具有主键或唯一索引 INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT INTO IGNORE:表中不存在对应的记录,则插入:若存在对应的记录 ...
- sqlserver group by后获取其他字段(多种方法)
大家都知道用group by的话,select 后面指定的字段必须与group by后面的一致.group by 只有个别字段,如果拿出其他未分组的字段信息呢?在网上搜了下, 总结如下: 使用了gro ...
- 剑指offer(63)数据流中的中位数
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们 ...
- [pytorch修改]npyio.py 实现在标签中使用两种delimiter分割文件的行
from __future__ import division, absolute_import, print_function import io import sys import os impo ...
- [CodeForces 471A] MUH and Sticks
题目链接:http://codeforces.com/problemset/problem/471/A 题目数据规模1 - 9,可以用一个数组进行计数,减掉出现四次的数,看看还有几个是非零数,有一个就 ...
- _quick_response
在线答题,抢答 `question` 题库 `correctAnswer` 正确答案(A,B,C,D) `answerA` 选项显示 `answerB`选项显示 `answerC` 选项显示 `ans ...
- 如何插入谷歌地图并获取javascript api 秘钥--Google Maps API error: MissingKeyMapError
参考:https://blog.csdn.net/klsstt/article/details/51744866 Google Maps API error: MissingKeyMapError h ...
- npm 是干什么的
网上的 npm 教程主要都在讲怎么安装.配置和使用 npm,却不告诉新人「为什么要使用 npm」.今天我就来讲讲这个话题. 本文目标读者是「不太了解 npm 的新人」,大神您别看了,不然又说我啰嗦了 ...