问题原因:
问题原因:肯是Base64 加密引起的;
解决方案:
- java端加密时要指定编码
/**
*
*三重DES加密 明文一定要指定编码
*
*plaintext 指定编码
*/
byte[] encrypt = DESUtil.encrypt3DES(plaintext.getBytes("utf-8"), BytesHexUtils.toBytes(DES_SecretKey));
//进行Base64 加密,否则密文是乱码的
String encryptStr = Base64Utils.encode(encrypt);
- 移动端在解密的时候 ,也要指定编码和服务端保持一致
//因为RSA加密后的内容经Base64再加密转换了一下,所以先Base64解密回来再给DES解密
// plain 是解密出来的明文
byte[] plain = DESUtil.decrypt3DES(Base64Utils.decode(ciphertext), BytesHexUtils.toBytes(DES_SecretKey));
//一定要指定编码,移动端和java端编码要一致,防止解密时中文乱码
textview.setText(new String(plain,"utf-8"));