项目中需要和C++做数据交互,所有的数据都是使用AES加密,然后base64编码的,现在把代码记录下来下次好参考:
/**
* 功能描述: 解密
*
* @param:
* @return:
* @auther: PC_gongyiyang
* @date: 2018/11/1 17:25
*/
public static String decrypt(String key, String encrypted) {
try {
SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
IvParameterSpec iv = new IvParameterSpec(new byte[cipher.getBlockSize()]);
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] result = Base64.decodeBase64(encrypted);
byte[] original = cipher.doFinal(result);
return new String(original);
} catch (Exception ex) {
log.error(ex.getMessage());
}
return null;
}
/**
* 功能描述: 加密
*