广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php接口加密的两种方式
  • 333
分享到

php接口加密的两种方式

php开发语言 2023-09-24 17:09:19 333人浏览 八月长安
摘要

在我们做项目的时候免不了使用接口请求数据,或者通过接口给其他应用提供数据,但是在网络请求中我们的数据是可以别一些软件抓取到的,这样我们的数据就会别泄露或者被人篡改,在我们实际项目中应该怎么处理呢? 下

在我们做项目的时候免不了使用接口请求数据,或者通过接口给其他应用提供数据,但是在网络请求中我们的数据是可以别一些软件抓取到的,这样我们的数据就会别泄露或者被人篡改,在我们实际项目中应该怎么处理呢?

下面先简单的说一下几种加密算法

1.DES对称加密算法

全称为 Data Encryption Standard,是一种使用密钥加密的块算法。加密串的长度是64位(bit),超过位加密串被忽略。所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符。(16轮Feistel型迭代密码,分组长度64bit,用56bit密钥加密64bit长度)

2.AES高级加密标准

(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是DES的升级版,AES的分组长度是128bit,三种可选密钥长度128bit,192bit和256bit,轮数分别为10、12和14。
3.RSA加密算法是一种非对称加密算法,使用公钥加密的数据,利用私钥进行解密,加密或签名后的结果是不可读的二进制,使用时经常会转为 BASE64 码再传输.
4.SHA1和MD5是散列算法,将任意大小的数据映射到一个较小的、固定长度的唯一值。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。
接口加密第一种:
发送方和接收方约定一个加密的盐值,进行生成签名,双方对数据进行排序然后拼接上加密的盐值进行MD5加密然后就生成了一个签名,然后发送方和接收方接收到数据以后按彼此约定的加密步骤进行签名验证,这样保证了数据的准确性,不会被篡改,但是传输的数据是可以被他人可见的。
如:md5(url?age=12&name=xiaomign&key=1234567890)
接口加密第二种:
发送方和接收方约定一个加密的盐值,加密方法,加密向量,对数据进行对称加密,然后使用的时候进行解密。
如:

$method = "AES-128-CBC";$key  = "2911827315869D7F";$iv   = "1234567812345678";$passcrypt = openssl_encrypt(JSON_encode(['name'=>'xiaoming', 'age' => 19]), $method, $key, OPENSSL_RAW_DATA, $iv);echo base64_encode($passcrypt);$data = base64_decode($request_data);$data = openssl_decrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);$data = json_decode($data, true);

我们使用的htts协议就是使用RSA算法和对称加密算法加密传输数据的
1.客户端向服务器端发起SSL连接请求;
2.服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥;
3.客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端;
4.服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,在此过程中,中间方无法对其解密(即使是客户端也无法解密,因为只有服务器端拥有唯一的私钥),这样保证了对称秘钥在收发过程中的安全,此时,服务器端和客户端拥有了一套完全相同的对称秘钥。 5.进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和篡改。

以上内容纯属个人理解,如有错误欢迎指正,谢谢

来源地址:https://blog.csdn.net/wei042/article/details/129361231

--结束END--

本文标题: php接口加密的两种方式

本文链接: https://www.lsjlt.com/news/417021.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php接口加密的两种方式
    在我们做项目的时候免不了使用接口请求数据,或者通过接口给其他应用提供数据,但是在网络请求中我们的数据是可以别一些软件抓取到的,这样我们的数据就会别泄露或者被人篡改,在我们实际项目中应该怎么处理呢? 下...
    99+
    2023-09-24
    php 开发语言
  • VBA工程加密PJ方式(两种)
    两种方式破解VBA加密代码 第一种: Sub VBAPassword1() '你要解保护的Excel文件路径 Filename = Application.Ge...
    99+
    2022-11-12
  • golang中接口对象的转型两种方式
    接口对象的转型有两种方式: 1. 方式一:instance,ok:=接口对象.(实际类型)   如果该接口对象是对应的实际类型,那么instance就是转型之后对象,ok的值为tru...
    99+
    2022-11-12
  • php生成用户密码的两种方式
    目录一、md5密码 二、hash密码PS:php生成随机密码的几种方法方法一:方法二:方法三:方法四:在用户系统中,生成用户的密码是很重要的,而简单的密码必然给一些不法用户...
    99+
    2022-11-12
  • PHP数据加密的几种方式
    首先我们来了解一下为什么要加密? 在网络通信的过程中攻击者可以伪造请求和返回,从而达到不可告人的目的。如下图所示: 数据加密之后可以防止他人监听窃取信息以及通讯内容被篡改。 了解了加密的作用,我再来...
    99+
    2023-10-04
    php 开发语言
  • Java调用CXF WebService接口的两种方式实例
    方式一:使用CXF提供的工具生成客户端代码。1. 在项目中添加CXF的依赖。2. 使用CXF提供的命令行工具生成客户端代码,命令如下...
    99+
    2023-09-16
    java
  • SpringBoot调用第三方WebService接口的两种实现方式
    WebService简介 WebService接口的发布通常一般都是使用WSDL(web service descriptive language)文件的样式来发布的,该文档包含了请求的参数信息,返回...
    99+
    2023-09-12
    spring boot java 后端
  • CMD查杀端口的两种方式
    目录第一种:netstat -ano第二种:netstat -aon|findstr “8081”这篇博客以杀掉8081为案例 端口占有对于初学程序的小伙伴们...
    99+
    2022-11-13
  • spring data 连接mongodb的两种方式
    什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库。 由 C++ 语言编写,是一个开源数据库系统。 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 M...
    99+
    2022-11-12
  • php接口的数据如何加密
    php使用token对接口数据进行加密,具体方法如下:<php$module = $_GET['module'];$action = $_GET['action'...
    99+
    2022-10-20
  • SSH远程免密登录的两种方式
    SSH远程免密登录的两种方式 一、ssh远程登录操作1.先ping测试下看看网络是否通畅2.ssh 192.168.150.148 二、ssh免密登录方式一1.生成公钥、私钥2.拷贝公钥到目标服务器3.测试ssh免密登录 三...
    99+
    2023-08-25
    ssh 服务器 网络
  • java对接webservice接口的四种方式
    这两天一直在做外系统对接,对方的接口是webservice的形式,调用起来有些蛋疼,于是在这里记录一下我尝试过的调用WebService的三种方式。 方式一:以HttpURLConnection的方式调用 String url ="http...
    99+
    2023-10-21
    java python 开发语言
  • MySQL的加密解密的几种方式(小结)
    写在前面 之前遇到一个问题,就是MySQL的信息如何加密。其实加密的思路有两种,一种是在数据库外部加密后存入数据库,第二种是在数据库内部对数据进行加密。这两种的区别就是第二种比第一种在使用上要更加方便,因为在外部加...
    99+
    2022-05-28
    MySQL 加密解密
  • Mysql添加外键的两种方式详解
    目录mysql添加外键的几种方式方法一:方法二:补充:MySQL 删除外键操作总结 Mysql添加外键的几种方式 注意:添加外键是给从表添加(即子表)父表是主表 方法一: 创建表之前: FOREIGN KEY ...
    99+
    2023-04-10
    mysql添加外键 mysql怎么增加外键 MySQL添加外键操作
  • C# 弹出窗口show()和showdialog()的两种方式
    目录一、构建工程和界面介绍二 、添加代码三、验证效果和小结我们在构建C# Form窗口的时候经常需要到弹出新的窗口,那么接着就会如何弹出窗口的疑问。这里介绍最常见的两种弹窗方法sho...
    99+
    2022-11-13
  • Spring Boot 中密码加密的两种方法分别是怎样的
    Spring Boot 中密码加密的两种方法分别是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。先说一句:密码是无法解密的。大家也不要再问松哥微人事项目中的密码怎么解...
    99+
    2023-06-17
  • mybatis 加载配置文件的方法(两种方式)
    一. 使用sqlSessionFactory 的 mapperLocations 进行加载,<!-- SessionFactory --> <bean id="sqlSessionFactory" class="org....
    99+
    2023-05-30
    mybatis 配置文件
  • Win10系统自带加密文件夹的两种方法
    在Windows 10系统中,有两种方法可以使用自带的加密文件夹功能:1. 使用文件资源管理器加密文件夹:- 打开文件资源管理器并导...
    99+
    2023-09-01
    Win10
  • android中可以通过两种方式调用接口发送短信
    第一:调用系统短信接口直接发送短信;主要代码如下: 代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getDef...
    99+
    2022-06-06
    调用接口 发送短信 调用 接口 Android
  • 对已有的docker容器增加新的端口映射问题(两种方式)
    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 docker run -it -d --name...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作