前言
实际工作当中,涉及到接口加密时,每一个公司加密方式都是不一样的。
1. 遇到接口加密的解决方法:
① 如果是一些常用的加密,可以通过 (第三方)工具或者代码去解决。② 如果是开发自己封装的加密方法,核心逻辑外人是无法知道的,最好的方式让开发去协助你。提供接口去进行调用,然后进行加密/解密的操作
③ 如果开发不肯提供接口,那么让开发协助你,把一些固定的数据给你手动进行加密一下。
④ 如果你能够去解决核心代码,那自己用代码去进行实现(难度高)。=====================================================================
2. 为什么会有接口加密?它的目的是什么?
因为在网络数据的传输过程中,不能绝对的保证数据安全,所以接口加密是为了数据的安全性、项目的安全性。
比如一个公网项目的登录输入的密码、支付项目的银行卡号、密码登,不能是明文,所以需要进行加密。
=====================================================================
3. 提高安全的方式有哪几种呢?
① 在对应的协议加认证证书: http请求 --- https请求(花钱去买一个安全)② 通过一些常用的算法去进行解决:MDHSHAI 编码: BASE64
③ 通过对应加密方式去进行加密:对称加密、非对称加密
=====================================================================
4. 对加密接口进行测试的前提条件
① 明确项目中哪些接口是加密的,加密的数据是什么(例如:是账号、密码,还是其他?)
② 明确加密数据的加密类型、加密模式
③ 以及无论如何我们都需要用到对应的[密钥]
1. 对称加密与非对称加密
加密接口的应用场景:
敏感信息:身份证、银行卡号、信用卡号、账户、密码等等。
不同国家/公司的加密要求各不相同,所以我们最重要的理解思路。
在数字加密算法中,通过可划分为对称加密和非对称加密。
1.1 对称加密概念
在对称加密算法中,加密和解密使用的是同一把钥匙。
即:使用相同的密匙对同一密码进行加密和解密。
======================================================================
加密过程如下:
加密:原文 + 密匙 = 密文
解密:密文 - 密匙 = 原文
--------------->>>
举个例子:
小明给小红发送微信消息表白,为了避免小红手机临时不在身边而导致消息被其他人看到,原本小明计划发送”我爱你一生一世”,小明和好加密的方式为:每个字通过”新华字典”中多少页第几个字在第几页,后两位是字)。当小红收到消息时,则自然明白文字的含义。
常用的对称加密算法
下面是一些常用的对称加密算法:
① DES(Data Encryption Standard):是一种使用56位密钥的对称加密算法,已经不再被广泛使用,因为其密钥长度较短,安全性较低。
---------->>>
② 3DES(Triple Data Encryption Standard):是对DES算法的改进,通过对数据应用DES算法三次来提高安全性。
---------->>>
③ AES(Advanced Encryption Standard):是目前广泛使用的对称加密算法,支持128位、192位和256位密钥长度,安全性较高。
---------->>>
④ Blowfish:是一种使用变长密钥的对称加密算法,可以使用32位到448位的密钥长度。
---------->>><