Java AES DES (CBC-PKCS5Padding) Base64 Md5 加解密源码分享
直接上代码,实测可用,无第三方jar包,包引用路径也在,关键注解都有:
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.DigestUtils;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class CryptoUtil {
private static Logger log = LoggerFactory.getLogger(CryptoUtil.class);
public static byte[] encryptAES(String key, String iv, byte[] data) throws UnsupportedEncodingException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
String md5Key = DigestUtils.md5DigestAsHex(key.getBytes("utf-8"));
byte[] keyBytes = md5Key.substring(16, 32).getBytes(