数据加密说明
数据接口交互过程中,不可避免会有一些敏感数据的传输。为了使数据交互更加安全,开放平台提供数据加密机制,开发者可根据具体业务接口情况选择该接口是否进行加密。
上行数据:即开发者调用接口时提交至开放平台的数据,提供了可选的加密方案。开发者可根据实际情况选择该业务接口是否加密。
下行数据:即开发者调用接口后返回的数据,如果上行数据进行了加密,下行数据亦会返回加密的数据。
加密算法:目前开放平台支持AES系列加密算法,默认使用AES128位加密,开发者可根据实际情况选择使用更高位数的加密算法,如AES192、AES256。
填充算法:加密的填充算法使用 SHA1PRNG
上行数据请求参数使用以下格式
{
"isEncrypt":"true",
"secStr":"1B36QN8hkIWXK76BsgtCxTI+0MaQOvrSRsgJrvZPOvvBJ6eE/hul07NmLwk+/M5kMs8+9ZC+qyGo5q1clsgLvRd348oR8+Dz8kgFoQpTvSGpG+8Ii1uFjiVa1w6mypJD/5P+fBEh6VX4Kp/wET69iM3yWblJEzz9vPea+jfTBaDo1/z5QlGJU9lZ2X8FzC71BD8vcVOnC2Ke2fRRZ0kmjQClyjCm5TPXT5gSZ4jI85c="
}
字段 | 说明 |
---|---|
secStr | 加密后经过base64编码的业务接口请求参数 |
isEncrypt | true表示数据是被加密过的 |
当数据加密开启之后,且请求参数使用了加密格式,调用的业务接口成功后返回以下格式数据
{
"isEncrypt":"true",
"data":"1B36QN8hkIWXK76BsgtCxTI+0MaQOvrSRsgJrvZPOvvBJ6eE/hul07NmLwk+/M5kMs8+9ZC+qyGo5q1clsgLvRd348oR8+Dz8kgFoQpTvSGpG+8Ii1uFjiVa1w6mypJD/5P+fBEh6VX4Kp/wET69iM3yWblJEzz9vPea+jfTBaDo1/z5QlGJU9lZ2X8FzC71BD8vcVOnC2Ke2fRRZ0kmjQClyjCm5TPXT5gSZ4jI85c="
}
字段 | 说明 |
---|---|
data | 加密后经过base64编码的业务接口返回数据 |
isEncrypt | true表示数据是被加密过的 |
java环境中,默认JCE策略文件限制了AES加密算法最高位数为128,如需使用更高位数加密算法则需要替换对应的JCE策略文件。
各个JDK版本对于的JCE下载地址
JDK8 http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
JDK7 http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK6 http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
文档更新时间: 2022-06-21 10:48