des加密之后乱码问题

普通的des加密:
  1.  
    byte[] keys=password.getBytes();
  2.  
    DESKeySpec desKey = new DESKeySpec(keys);
  3.  
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  4.  
    SecretKey securekey = keyFactory.generateSecret(desKey);
  5.  
    Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
  6.  
    cipher.init(Cipher.ENCRYPT_MODE, securekey, new IvParameterSpec(keys));
  7.  
    byte[] result = cipher.doFinal(datasource.getBytes());


返回一个字节数组,当转换为字符串时乱码,由于内存数据流和字符串的编码规则不同。

解决方法:
	把加密后的字节数组再通过base64加密一次,乱码问题解决,只需要des解密之前用base64解密就可以了。
posted on 2021-02-09 12:15  卖小女孩的小男孩  阅读(616)  评论(0)    收藏  举报