JAVA的AES加密步骤解释

http://www.oschina.net/code/list_releted_codes?id=1470&p=1

package com.zwh.encryption;

import java.security.NoSuchAlgorithmException;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;

public class Encryption  {
	public static void main(String[] args) throws Exception {
		KeyGenerator kg = KeyGenerator.getInstance("AES"); //获取密匙生成器
		kg.init(128); //初始化
		//DES算法必须是56位
		//DESede算法可以是112位或168位
		//AES算法可以是128、192、256位
		SecretKey key = kg.generateKey(); //生成密匙,可用多种方法来保存密匙
		System.out.println("key--------"+key);
		
		Cipher cp = Cipher.getInstance("AES"); //创建密码器
		cp.init(Cipher.ENCRYPT_MODE, key); //初始化
		String str = "密文";
		byte [] ptext = str.getBytes("UTF-8");
		byte [] ctext = cp.doFinal(ptext); //加密
		// UTF-8 ISO8859-1
		System.out.println("加密后------"+String.valueOf(ctext));
		
		Cipher cp1 = Cipher.getInstance("AES"); //创建密码器
		cp1.init(Cipher.DECRYPT_MODE, key); //初始化
		byte [] ptext2 = cp1.doFinal(ctext); //解密

		String str2 = new String(ptext2, "UTF-8"); //重新显示明文
		System.out.println("解密后------"+str2);
	}
	
}





你可能感兴趣的:(JAVA的AES加密步骤解释)