`

JAVA实现AES加密解密工具类

    博客分类:
  • JAVA
阅读更多

package com.runant.util.encrpt.key;
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
/**
*AES加密解密工具类
*/
public class AESEncrypt {
private Key key;
private static final String KEY_ALGORITHM = "AES";
private static final String CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";

/**
* 默认构造函数
*/
public AESEncrypt() {

}
/**
* 构造函数,初始化Key
* @param keyStore
*/
public AESEncrypt(String keyStore) {
this.ininKey(keyStore);
}

/**
* 初始化Key对象
* @param keyText
* @return
*/
public void ininKey(String keyText) {

SecretKey secretKey = new SecretKeySpec(keyText.getBytes() ,KEY_ALGORITHM) ;
this.key = secretKey ;
}

/**
* 加密
* @param 明文 inputText
* @return 密文 outputText
*/
public String getEncString(String inputText) {
Cipher cipher = null;
String outputText = null ;
try {
cipher =Cipher.getInstance(CIPHER_ALGORITHM) ;
cipher.init(Cipher.ENCRYPT_MODE, this.key) ;
outputText= Base64.encode(cipher.doFinal(inputText.getBytes("UTF8")));
} catch (Exception e) {
e.printStackTrace();
}finally{
cipher= null;
}
return outputText;
}


/**
* 解密
* @param 密文 inputText
* @return 明文 outputText
*/
public String getDesString(String inputText) {
Cipher cipher = null;
String outputText = null ;
try {
cipher =Cipher.getInstance(CIPHER_ALGORITHM) ;
cipher.init(Cipher.DECRYPT_MODE, this.key) ;
outputText= new String(cipher.doFinal(Base64.decode(inputText)));
} catch (Exception e) {
e.printStackTrace();
}finally{
cipher= null;
}
return outputText;
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics