package test;
import java.security.GeneralSecurityException;import java.security.Key;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;
public class AESCoder
{
public static final String KEY_ALGORITHM= “AES”; public static final String CIPHER_ALGORITHM= “AES/EBC/PKCS5Padding”; //密钥算法 private static Key
toKey(byte[] key){ SecretKey secretkey = new SecretKeySpec(key,KEY_ALGORITHM); return secretkey; } public static byte[]
decrypt(byte[] data, byte[]
key) throws Exception, GeneralSecurityException{ Key k= toKey(key); Cipher cipher=Cipher. getInstance(CIPHER_ALGORITHM); cipher.init(Cipher. DECRYPT_MODE,
k); return cipher.doFinal(data); } public static byte[]
encrytp(byte[] data, byte[]
key) throws Exception, GeneralSecurityException{ Key k= toKey(key); Cipher cipher=Cipher. getInstance(CIPHER_ALGORITHM); cipher.init(Cipher. ENCRYPT_MODE,
k); return cipher.doFinal(data); } public static byte[]
initKey() throws Exception{ KeyGenerator kg=KeyGenerator. getInstance(KEY_ALGORITHM); kg.init(256); SecretKey secretKey=kg.generateKey(); //获取密钥的二进制编码形式 return secretKey.getEncoded(); }}对密钥规范的要求降低了,无需实现密钥规范类。