开放API接口安全处理!

参考文献:

公钥,私钥和数字签名这样最好理解 (转载)

概念

存在问题:

  • 数据窃取
  • 数据篡改
  • 数据泄露

对应解决方法:

  • 加密:RSA/DES
  • 混淆算法:MD5
  • 令牌:TOKEN

加密

  • 对称

    DES

    AES

  • 非对称(公私钥)

    RSA

    作用:

    • 加密:公钥加密->私钥解密
    • 签名:私钥加密->公钥解密(私钥数字签名,公钥验证身份)

MD5

  • Message Digest Algorithm

    MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

  • MD5算法特点:

  1. 压缩性:任意长度的数据,算出的MD5值长度都是固定的。

  2. 容易计算:从原数据计算出MD5值很容易。

  3. 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。

  4. 强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

  • 原理上不能破解,不可逆算法

    但是有些数字可以由彩虹表(数据非常庞大)的碰撞来获取

  • MD5加盐

    MD5(""+""+salt)

  • 应用场景

    1. 接口规定根据那些字段生成MD5
    2. 接口获取第三方调用者的参数来生成对应的MD5和传入的MD5比较
    3. 可以校验表单数据的完整性,防篡改

Token

通常在登录时获取,判断用户是否登录状态

开放api参数

  • id主键不要设置成自增序列

    自增序列会容易给轮询,爬虫

重复提交,恶意调用

场景:交易类,订单类,有效期,幂等性

  • 返回服务器时间戳参数,调用时传入,与当前服务器时间比较,有效期内才通过
  • 随机数

日志

验证码

短信类:图形验证码

注册下发短信:没有用户信息,无法从业务上限制,只能弄人机交互的验证码

开放API接口安全处理!的更多相关文章

  1. 开放API接口

    [开放API]——知乎.博客园等开放API接口(更新ing)   Cnodejs.org: https://cnodejs.org/api/ 和风天气: http://docs.heweather.c ...

  2. 开放API接口安全处理

    一.开放API接口定义 顾名思义,开放出来给其他人调用的API接口就是开放API接口.例如,短信接口.邮件接口. 二.开放API的弱点 数据窃取 用户的密码等信息被不轨之人窃取,登录账号发布敏感信息, ...

  3. 开放api接口签名验证

    不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候, ...

  4. 【转】开放api接口签名验证

    不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候, ...

  5. 新浪网易淘宝等IP地区信息查询开放API接口调用方法

    通过IP地址获取对应的地区信息通常有两种方法:1)自己写程序,解析IP对应的地区信息,需要数据库.2)根据第三方提供的API查询获取地区信息. 第一种方法,参见文本<通过纯真IP数据库获取IP地 ...

  6. 准备开发开放API接口

    准备开发APP开放接口,允许JQUERY直接调用http://blog.csdn.net/wuxiangege/article/details/52238968 SIGN的设计与实现http://bl ...

  7. 远程开户系统开放API接口

    如今随着智能识别技术的成熟和商用,金融领域也开始逐渐试水"远程开户".从OCR身份证识别到人脸识别,到如今市场上即将出现完整的远程开户系统,除了需要成熟的技术做支撑外,还需要对市场 ...

  8. springcloud提供开放api接口签名验证

    一.MD5参数签名的方式 我们对api查询产品接口进行优化: 1.给app分配对应的key.secret 2.Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下: a. 按照请求参数 ...

  9. NVDA、争渡读屏语音开放API接口

    什么是读屏软件? 读屏软件是一种专为视力障碍人士设计的,能够辅助视障人士操作计算机的工具,它可以将屏幕上显示的内容用语音朗读出来,这样视障人士就可以正常使用电脑了. 知名的屏幕阅读软件国内有争渡读屏. ...

随机推荐

  1. Matlab c2d()函数的用法

    1.c2d()函数的用法 c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1. c2d()函数转化的方法有多种: ①zoh, 零阶保持器法,又称阶跃响应不变法: ②foh ,一阶 ...

  2. 【LG4437】[HNOI/AHOI2018]排列

    [LG4437][HNOI/AHOI2018]排列 题面 洛谷 题解 题面里这个毒瘤的东西我们转化一下: 对于\(\forall k,j\),若\(p_k=a_{p_j}\),则\(k<j\). ...

  3. MySQL实战45讲学习笔记:第二十二讲

    一.引子 不知道你在实际运维过程中有没有碰到这样的情景:业务高峰期,生产环境的 MySQL 压力太大,没法正常响应,需要短期内.临时性地提升一些性能. 我以前做业务护航的时候,就偶尔会碰上这种场景.用 ...

  4. 官方一步解决各种Windows更新问题

    原文部分: 修复 Windows 更新问题 适用于: Windows 8.1Windows 10Windows 7   此分布指南有什么作用? 此分步指南提供的步骤可修复 Windows 更新的问题, ...

  5. 第01组 Beta冲刺(4/5)

    队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/12019233.html 作业博客: https://edu.cnblogs.com/campus/fz ...

  6. Linux系统运维笔记,CentOS 7.4防火墙配置

    1.查看firewall服务状态 systemctl status firewalld 2.查看firewall的状态 firewall-cmd --state 3.开启.重启.关闭.firewall ...

  7. Qt Quick小项目 - 登陆界面

    开发环境: win8 + Qt5.11.2 说明: 用 QML 设计一个应用的登陆界面. 效果图: 新建一个 "Qt Quick Application - empty" 工程,分 ...

  8. 百度语音识别在ROS下的应用-导航

    先去wiki下载百度的ros语音识别包:http://wiki.ros.org/baidu_speech 里面包含语音识别voice和speak的node节点,不过voice_node里面有一个小的错 ...

  9. Python文件读写机制

    Python提供了必要的函数和方法进行默认情况下的文件基本操作 文件打开方式: open(name[,mode[buf]]) name:文件路径 mode:打开方式 buf:缓冲buffering大小 ...

  10. git 删除错误提交commit(删除敏感文件)

    git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch test/docs/456776898979.ap ...