| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package cn.com.goldenwater.dcproj.utils;
- import org.apache.commons.codec.binary.Base64;
- import javax.crypto.Cipher;
- import javax.crypto.spec.IvParameterSpec;
- import javax.crypto.spec.SecretKeySpec;
- public class aesUtil {
- public static final String KEY = "jinshui@12345678";
- public static final String IV = "jinshui@12345678";
- /**
- * 加密方法
- *
- * @param data 要加密的数据
- * @return 加密的结果
- */
- public static String encrypt(String data) {
- try {
- //"算法/模式/补码方式"NoPadding PkcsPadding
- Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
- int blockSize = cipher.getBlockSize();
- byte[] dataBytes = data.getBytes();
- int plaintextLength = dataBytes.length;
- if (plaintextLength % blockSize != 0) {
- plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize));
- }
- byte[] plaintext = new byte[plaintextLength];
- System.arraycopy(dataBytes, 0, plaintext, 0, dataBytes.length);
- SecretKeySpec keyspec = new SecretKeySpec(KEY.getBytes(), "AES");
- IvParameterSpec ivspec = new IvParameterSpec(IV.getBytes());
- cipher.init(Cipher.ENCRYPT_MODE, keyspec, ivspec);
- byte[] encrypted = cipher.doFinal(plaintext);
- return new Base64().encodeToString(encrypted);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 解密方法
- *
- * @param data 要解密的数据
- * @return 解密的结果
- */
- public static String desEncrypt(String data) {
- try {
- byte[] encrypted1 = new Base64().decode(data);
- Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
- SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), "AES");
- IvParameterSpec ivSpec = new IvParameterSpec(IV.getBytes());
- cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);
- byte[] original = cipher.doFinal(encrypted1);
- return new String(original).trim();
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public static void main(String[] args) {
- String str = aesUtil.encrypt("Lhc_123456");
- System.out.println(str);
- System.out.println(aesUtil.desEncrypt(str));
- String str1 = "DwryHl zhe DEqYJHj BiIsg==";
- String str2 = str1.replace(" ","+");
- System.out.println(str2);
- }
- }
|