Java API加密 从sign签名验证到RSA、AES数据加密的实际应用

目录

 

前言

一. 传输加密思路

二. 加密操作的具体实现过程

1. 客户端sign签名的生成规则

2. 服务端验证

3. 服务端数据加密以及数据返回

4. 客户端解密数据

三. 总结


 

前言

在新一轮需求中,我方系统需要与某一系统进行数据传输,由于这些数据需要保证安全不外泄,并在后期交付时要做等保检测,因此在设计接口实现时,需要保证数据传输的安全性。

 

一般来说,API接口的安全性能一般要考虑以下几点:

1. 接口请求来源合法。

2. 数据传输途中不能被篡改。

A. 请求参数不能被篡改。

B. 返回结果不能被篡改。

3. 数据加密返回,保证数据安全。

4. 防重放攻击。即将拦截请求的参数,重新用于接口调用。

5. 防伪装攻击。这种情况一般是token被劫持时,攻击者伪装请求。

 

 

一. 传输加密思路

 

下文中,客户端皆指接口请求方,服务端皆指提供API的接口提供方。

 

本次接口开发中的大体思路如下:

1. 客户端生成sign签名,调用服务端接口。

2. 服务端对sign签名进行验证。

3. 服务端对验证成功的请求,返回加密数据。

4. 客户端接收加密数据,解密并使用。

 

 

二. 加密操作的具体实现过程

 

服务端API接口详情:

URL:IP:PORT/api/getSecretData

请求方式:POST

请求头:Content-type:application/json

这里省略了其他业务参数,示例参数如下:

timestamp
nonce
sign

 

1. 客户端sign签名的生成规则

以上参数中࿰

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值