PHP版本:
class AES7 { protected $aesKey = 'test'; protected $iv = ''; public function setIv($iv) { $this->iv = $iv; } public function setKey($key) { $this->aesKey = $key; } public function encrypt($data) { $encrypted = openssl_encrypt($data, 'aes-128-ecb', ($this->aesKey), OPENSSL_RAW_DATA, ($this->iv)); return base64_encode($encrypted); } public function decrypt($data) { $encrypted = base64_decode($data); $decrypted = openssl_decrypt($encrypted, 'aes-128-ecb', ($this->aesKey), OPENSSL_RAW_DATA, ($this->iv)); return $decrypted; } }
Java版本:
package com.jefferson.utils.test.crypt; import org.apache.commons.codec.binary.Base64; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; public class SecurityAESTool { /** * AES加密 * * @param str * 明文 * @param key * 秘钥 * @return */ public static String encrypt(String str, String key) { byte[] crypted = null; try { SecretKeySpec skey = new SecretKeySpec(key.getBytes("UTF-8"), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, skey); String enStr = str; crypted = cipher.doFinal(enStr.getBytes("UTF-8")); } catch (Exception e) { System.out.println(e.toString()); } String body = new String(Base64.encodeBase64(crypted)); return body; } /** * AES解密 * * @param input * @param key * @return */ public static String decrypt(String input, String key) { byte[] output = null; String body = null; if (input == null || key == null) { return null; } try { SecretKeySpec skey = new SecretKeySpec(key.getBytes("UTF-8"), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, skey); byte[] b = Base64.decodeBase64(input); // 解密 output = cipher.doFinal(b); body = new String(output, "UTF-8"); } catch (Exception e) { System.out.println(e.toString()); } return body; } public static void main(String[] args) throws UnsupportedEncodingException { String key = "1234567812345678";// 密钥 String data = "12345678"; // 明文 String enStr = SecurityAESTool.encrypt(data, key); System.out.println(URLEncoder.encode(enStr, "UTF-8")); } }