Base64+DES加密/解密实战演练
程序员文章站
2022-03-01 17:27:32
...
这篇文章我们来看一下Base64+DES加密/解密实战演练。
关于DES加密/解密可以参考我的另一篇博客DES加密/解密。
首先,我们设置一个key,
String key = "[email protected]#";
然后我们取前8个字节,得到最终的key(注意,使用DES必须这么做)
byte[] finalKey = new byte[8];
System.arraycopy(key.getBytes(), 0, finalKey, 0, 8);
接着,我们再封装两个方法,分别对应数据加密和数据解密,
/**
* 数据加密:DES加密--->Base64加密
* @param requestBody 请求body
* @return 加密后的请求body
*/
public String getEncodeRequestBody(byte[] requestBody) {
byte[] desRequestBody = DES.encryptDES(requestBody, finalKey);
if (desRequestBody == null) {
return null;
}
String encodeRequestBody = new String(Base64.encode(desRequestBody, Base64.DEFAULT)).replace("\n", "");
return encodeRequestBody;
}
/**
* 数据解密:Base64解密--->DES解密
* @param responseBody 应答body
* @return 解密后的应答body
*/
public String getDecodeResponseBody(String responseBody) {
byte[] base64ResponseBody = Base64.decode(responseBody, Base64.DEFAULT);
byte[] desResponseBody = DES.decryptDES(base64ResponseBody, finalKey);
String decodeResponseBody = new String(desResponseBody);
return decodeResponseBody;
}
这里我使用的是Android中的Base64(android.util.Base64)。
然后我们把getEncodeRequestBody得到的结果作为最终的请求体传给服务端,并且把服务端给我们的数据
经过getDecodeResponseBody得到的结果进行解析。
上一篇: DES加密解密工具类
下一篇: PHP DES加密解密类
推荐阅读