| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
cgdf
9年前发布

Java的AES加密解密

import javax.crypto.Cipher;  import javax.crypto.spec.IvParameterSpec;  import javax.crypto.spec.SecretKeySpec;    import org.junit.Test;    ...        @Test      public void testCrossLanguageEncrypt() throws Exception{          System.out.println(encrypt());          System.out.println(desEncrypt());      }        public static String encrypt() throws Exception {          try {              String data = "Test String";              String key = "1234567812345678";              String iv = "1234567812345678";              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 sun.misc.BASE64Encoder().encode(encrypted);          } catch (Exception e) {              e.printStackTrace();              return null;          }      }      public static String desEncrypt() throws Exception {          try          {              String data = "2fbwW9+8vPId2/foafZq6Q==";              String key = "1234567812345678";              String iv = "1234567812345678";                byte[] encrypted1 = new sun.misc.BASE64Decoder().decodeBuffer(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);              String originalString = new String(original);              return originalString;          }          catch (Exception e) {              e.printStackTrace();              return null;          }      }