Base64+DES加密/解密实战演练

这篇文章我们来看一下Base64+DES加密/解密实战演练。
关于DES加密/解密可以参考我的另一篇博客DES加密/解密

首先,我们设置一个key,

String key = "abcdefghijkl123456@#";

然后我们取前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得到的结果进行解析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值