import org.apache.commons.codec.binary.Hex;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.util.Arrays;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
*
* @author jacky
* AES128 算法
* CBC 模式
* NoPadding 无填充模式
* CBC模式需要添加一个参数iv
*
* 介于java 不支持PKCS7Padding,只支持PKCS5Padding 但是PKCS7Padding 和 PKCS5Padding 没有什么区别
* 要实现在java端用PKCS7Padding填充,需要用到bouncycastle组件来实现
*/
public class AesEncoder {
/*
* 加密用的Key 可以用26个字母和数字组成 此处使用AES-128-CBC加密模式,key需要为16位。
*/
private byte[] ivParameter = {0x68, 0x7c, 0x39, 0x30, 0x2a, 0x71, 0x51, 0x5e, 0x0f, 0x13, 0x2a, 0x76, 0x4d, 0x76, 0x61, 0x7b};
publ
JAVA用AES128和AES256加密
最新推荐文章于 2021-11-15 23:06:43 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)