Api接口数据安全及数据加密方式主要流程实现

算法 同时被 2 个专栏收录
7 篇文章 0 订阅
4 篇文章 0 订阅

简述接口数据安全的主要实现方式

一:数据校验
常用算法:MD5,SHA1
流程:
1:前端生成数据后按照约定方式生成一个sign 校验字段(一般通过MD5或者SHA1 方式),一并提交给后端;
2:后端获得参数后通过同样的方式生成sign 然后跟接口携带的sign对比是否一致,以此判断数据是否被修改;
eg:下面接口文档中的sign

接口参数有:
	1 order_id:订单号,唯一,长度小于30
	2 money:金额,分
	3:type:支付类型 alipay(个码),alipay(支付宝),wechat(微信) 多选一
	4:appid:用户的appid
	5:c_url:回调url 需要urlencode(不填默认是商户后台填写的)
	6:time:时间秒数
	7:sign:验证,规则(sign=md5(order_id+money+type+time+appid+key),所有都转换为字符串)

返回数据格式:
		{
			"code": 1,
			"msg": "succ",
			"data": {
				"order_id": "1545054693",
				"type": "alipay",
				"url": "alipays:\/\/platformapi\/startapp?appId=20000067&url=http://admin.php05.cn/pay/index/alipay?ms=1545054693=u_1&t=1545054610&tk=a53f9db256e66e4e",
				"url_2": "http://admin.php05.cn/pay/index/alipay?ms=1545054693=u_1&t=1545054610&tk=a53f9db256e66e4e", //复制链接
				"apply_time": "2018-12-17 21:50:10"
			},
			"sign": "f1b128b52b17856839597c7494628d6d",
			"time": 1545054610
		}

优点:对数据一致性做校验,数据不易被随便修改;
缺点:数据是明文传输,容易被猜测甚至伪造,一旦密钥跟生成sign 方式泄露,数据是可能是修改后伪造的;

二:对称加密方式
常用算法:BASE64,AES;
流程:
1:前端通过一定算法或者密钥对数据进行加密;
2:后端通过相同逆向的方式对数据进行解密;

优点:数据是密文,一般人看不懂,不易泄露,加密解密方式简单;
缺点:密钥必须保存在前端,容易泄露,泄露后数据将被解密甚至伪造;

三:非对称加密
常用算法:RSA,DSA
流程:
1:后端生成公钥,私钥;
2:前端请求公钥,并保存;
3:前端通过公钥加密数据传输给后端;
4:后端通过私钥解密数据后通过私钥加密返回数据给前端;

优点:密文传输,私钥放后端不易泄露,前端提交数据是安全的,不易被解密或者修改;
缺点:后端返回的数据可能会被截取解密(因为公钥是公开的);

四:Https 实现方式 对称加密+非对称加密(会话密钥模式)
常用算法:AES+RSA
流程:
1:后端生成公钥,私钥保存
2:前端获取公钥,保存
3:前端会话前获取随机数,并通过公钥加密后作为会话密钥对数据进行对称加密后传输给后端
4:后端获取到加密会话密钥 通过私钥解密出真正的会话密钥,返回数据时通过真正的会话密钥对数据加密
5:前端获得后端返回的加密数据通过自己之前随机生成的会话密钥解密数据

优点:数据提交跟返回都是密文,且密钥是会话时随机生成并非直接保存在前端不变,不易泄露,保证提交数据跟返回数据都是加密,安全的
缺点:多次加密解密,相对比较耗cpu

  • 4
    点赞
  • 5
    评论
  • 8
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 5 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

qq_540616979

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值