【原创】PHP补充API接口数据安全验证加密解密相关问题

用PHP写了这么久api接口,需要总结下关于限制的一些问题。

通常接口有对外或对内情况,下面说下相关能用上的规则:

  • 限制IP、访问频率等,根据什么来判断就看你了。
  • 用户名和密码登陆,验证成功后,生成token,可以有过期限制。
  • sign作用:传过来的数据,根据规则生成sign,与传过来的sign对比。也是相当于验证身份
  • https保护保存数据

以上还不能保证数据安全,有可能你通过接口身份验证后传输数据还是有可能被路由、终端等拦截数据。

这时候可以选择数据加密方式,以下几种常用的:

DES:Data Encrytion Standard(数据加密标准),对应算法是DEA

特点:1. 对称加密 2. 同一个SK(跨平台可能会。。。)

AES:Advanced Encrytion Standard(高级加密标准)

特点:1. 对称加密 2. 一个SK扩展成多个子SK,轮加密(速度快)

RSA:特点: 1. 非对称加密,即:PK与SK不是同一个

2. PK用于加密,SK用于解密

3. PK决定SK,但是PK很难算出SK(数学原理:两个大质数相乘,积很难因式分解)

4. 速度慢,只对少量数据加密

介绍完特别后你知道选择什么了吧?

PHP 的 OpenSSL 扩展中加密的相关函数有:

  • openssl_encrypt()
  • openssl_decrypt()

详细看官方手册:https://www.php.net/manual/zh/function.openssl-encrypt.php

也有直接对外暴露在web上的随便访问毫无限制的对外接口,那???

此条目发表在服务器分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论