最近项目使用到了aes的加解密算法,但是在使用过程中出现了诸多问题,比如bc库版本冲突、并发下bc对象占用解密失败,重复new bc库导致加解密速度太慢等。。。最后经过一番分析,现在分享一下彻底解决这些问题的版本;
1、依赖版本(最好使用这个,支持jdk1.5及以上,算是比较新的)
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56</version>
</dependency>
2、重头戏,加解密工具类;
package util;
import com.edi.framework.core.utils.StringUtils;
import com.edi.framework.core.utils.encrypt.Base64Util;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.security.Key;
import java.security.Security;
import java.util.Arrays;
public class AESUt