捕风之巢

统计

留言簿(3)

java友情链接

阅读排行榜

评论排行榜

JAVA的AES加密步骤解释

KeyGenerator kg  =  KeyGenerator.getInstance( " AES " );  // 获取密匙生成器
kg.init( 256 );  // 初始化
// DES算法必须是56位
// DESede算法可以是112位或168位
// AES算法可以是128、192、256位
SecretKey key  =  kg.generateKey();  // 生成密匙,可用多种方法来保存密匙

加密:
Cipher cp 
=  Cipher.getInstance( " AES " );  // 创建密码器
cp.init(Cipher.ENCRYPT_MODE, key);  // 初始化
String str  =   " 我是需要被加密的明文 " ;
byte  [] ptext  =  str.getBytes( " UTF8 " );
byte  [] ctext  =  cp.doFinal(ptext);  // 加密
// 可用多种方式保存

解密:
Cipher cp 
=  Cipher.getInstance( " AES " );  // 创建密码器
cp.init(Cipher.DECRYPT_MODE, key);  // 初始化
byte  [] ptext  =  cp.doFinal(ctext);  // 解密

String str 
=   new  String(ptext,  " UTF8 " );  // 重新显示明文

posted on 2006-10-11 10:58 捕风 阅读(3655) 评论(2)  编辑  收藏 所属分类: java安全

评论

# re: JAVA的AES加密步骤解释 2009-06-16 09:21 发放大

扯蛋  回复  更多评论   

# re: JAVA的AES加密步骤解释 2011-04-18 21:41 smallred

默认JDK只允许128位及以下的密钥,如果要启动256位密钥,则需要更新local_policy.jar,US_export_policy.jar
如果你的JAVA_HOME为C:\Program Files\Java\jdk1.6.0_14.
覆盖: C:\Program Files\Java\jdk1.6.0_14\jre\lib\security下的同名文件
覆盖: C:\Program Files\Java\jre6\lib\security下的同名文件

我把以上两个Jar和代码样例放到我个个人网站上了,如果有需要可以来看看.
http://www.after80.net/posts/list/20.page  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: