本站首页    管理页面    写新日志    退出


«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7663330
建立时间:2006年5月29日




[J2SE]Java中3DES加密解密调用示例
软件技术,  电脑与网络

lhwork 发表于 2006/6/21 14:12:52

在java中调用sun公司提供的3DES加密解密算法时,需要使用到$JAVA_HOME/jre/lib/目录下如下的4个jar包: jce.jar security/US_export_policy.jar security/local_policy.jar ext/sunjce_provider.jar Java运行时会自动加载这些包,因此对于带main函数的应用程序不需要设置到CLASSPATH环境变量中。对于WEB应用,不需要把这些包加到WEB-INF/lib目录下。 以下是java中调用sun公司提供的3DES加密解密算法的样本代码: /*字符串 DESede(3DES) 加密*/import java.security.*;import javax.crypto.*;import javax.crypto.spec.SecretKeySpec;public class ThreeDes { private static final String Algorithm = "DESede"; //定义 加密算法,可用 DES,DESede,Blowfish //keybyte为加密密钥,长度为24字节 //src为被加密的数据缓冲区(源) public static byte[] encryptMode(byte[] keybyte, byte[] src) { try { //生成密钥 SecretKey deskey = new SecretKeySpec(keybyte, Algorithm); //加密 Cipher c1 = Cipher.getInstance(Algorithm); c1.init(Cipher.ENCRYPT_MODE, deskey); return c1.doFinal(src); } catch (java.security.NoSuchAlgorithmException e1) { e1.printStackTrace(); } catch (javax.crypto.NoSuchPaddingException e2) { e2.printStackTrace(); } catch (java.lang.Exception e3) { e3.printStackTrace(); } return null; } //keybyte为加密密钥,长度为24字节 //src为加密后的缓冲区 public static byte[] decryptMode(byte[] keybyte, byte[] src) { try { //生成密钥 SecretKey deskey = new SecretKeySpec(keybyte, Algorithm); //解密 Cipher c1 = Cipher.getInstance(Algorithm); c1.init(Cipher.DECRYPT_MODE, deskey); return c1.doFinal(src); } catch (java.security.NoSuchAlgorithmException e1) { e1.printStackTrace(); } catch (javax.crypto.NoSuchPaddingException e2) { e2.printStackTrace(); } catch (java.lang.Exception e3) { e3.printStackTrace(); } return null; } //转换成十六进制字符串 public static String byte2hex(byte[] b) { String hs=""; String stmp=""; for (int n=0;n<b.length;n++) { stmp=(java.lang.Integer.toHexString(b[n] & 0XFF)); if (stmp.length()==1) hs=hs+"0"+stmp; else hs=hs+stmp; if (n<b.length-1) hs=hs+":"; } return hs.toUpperCase(); } public static void main(String[] args) { //添加新安全算法,如果用JCE就要把它添加进去 Security.addProvider(new com.sun.crypto.provider.SunJCE()); final byte[] keyBytes = {0x11, 0x22, 0x4F, 0x58, (byte)0x88, 0x10, 0x40, 0x38 , 0x28, 0x25, 0x79, 0x51, (byte)0xCB, (byte)0xDD, 0x55, 0x66 , 0x77, 0x29, 0x74, (byte)0x98, 0x30, 0x40, 0x36, (byte)0xE2}; //24字节的密钥 String szSrc = "This is a 3DES test. 测试"; System.out.println("加密前的字符串:" + szSrc); byte[] encoded = encryptMode(keyBytes, szSrc.getBytes()); System.out.println("加密后的字符串:" + new String(encoded)); byte[] srcBytes = decryptMode(keyBytes, encoded); System.out.println("解密后的字符串:" + (new String(srcBytes))); }} 以上程序在JDK 1.4.x下调试通过。


阅读全文(34759) | 回复(14) | 编辑 | 精华
 


回复:Java中3DES加密解密调用示例
软件技术,  电脑与网络

langzi(游客)发表评论于2008/9/2 20:39:12

谢谢你啊  呵呵


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Java中3DES加密解密调用示例
软件技术,  电脑与网络

游客(游客)发表评论于2008/7/14 10:12:43

是逃避,应继续向前,而不是停留在过去

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Java中3DES加密解密调用示例
软件技术,  电脑与网络

过客(游客)发表评论于2008/6/7 21:48:59

什么滥故事,搞得人心里怪难受

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:Java中3DES加密解密调用示例
软件技术,  电脑与网络

4444(游客)发表评论于2008/1/15 11:09:42

烛光晚餐。桌两边,坐了男人和女人。   “我喜欢你。”女人一边摆弄着手里的酒杯,一边淡淡地说着。   “我有老婆。”男人摸着自己手上的戒指。   “我不在乎,我只想知道,你的感觉。你,喜欢我吗?”男人抬起头,打量着对面的女人。24岁,年轻,有朝气,相当不错的年纪。白皙的皮肤,充满活力的身体,一双明亮的,会说话的眼睛。真是不错的女孩啊,可惜。“如果你也喜欢我,我不介意作你的情人。”女人终于等不下去,追加了一句。“我爱我妻子。”男人坚定地回答。“你爱她?爱她什么?现在的她,应该已经年老色衰,见不得人了吧。否则,公司的晚宴,怎么从来不见你带她来……”女人还想继续,可接触到男人冷冷的目光后,打消了念头。静……“你喜欢我什么?”男人开口了。“成熟,稳重,动作举止很有男人味,懂得关心人,很多很多。反正,和我之前见过的人不同,你很特别。”“你知道三年前的我什么样子?”男人点了颗烟。“不知道。我不在乎,即使你坐过牢。”“三年前,我就是你现在眼里的那些普通男人。”男人没理会女人,继续说。“普通大学毕业,工作不顺心,整天喝酒,发脾气。对女孩子爱理不理,还因为去夜总会找小姐,被抓过。”“那怎么……”女人有了兴趣,想知道是什么让男人转变的。“因为她?”“嗯。”“她那个人,好像总能看到事情的内在。教我很多东西,让我别太计较得失,别太在乎眼前的事,尽量待人和善。那时的我在她面前,就像少不更事的孩子。那时真的很奇怪,倔脾气的我,偏偏最听她的话。按照她说的,接受现实,我知道自己没用,就努力工作。那年年底,工作上稍微有了起色,我们结婚了。”男人弹了弹烟灰,继续说着。“那时,真是苦日子。两个人,一张床,家里的家具也少得可怜。知道吗?结婚一年后,我才给她买了第一枚钻戒,存了大半年的钱呢。当然,是背着她存的。若她知道了,是肯定不让的。”“那阵子,因为烟酒弄得自己身体不好。大冬天的,她每天晚上睡前还要给我熬汤喝。那味道,也只有她做得出。”男人沉醉于回忆里,忘记了时间,只是不停地讲述着往事。而女人,也丝毫没有打断的意思,静静地听着。等男人注意到时间,已经晚上10点了。“啊,对不起,没注意时间,已经这么晚了。”男人抱歉地笑了笑。“现在,你可以理解嘛?我不可能,也不会,做对不起她的事。”“啊,知道了。输给这样子的人,心服口服了!”女人无奈地摇了摇头。“不过我到了她的年纪,会更棒的。”“嗯。那就可以找到更好的男人。不是吗?” “很晚了,家里的汤要冷了,我送你回去。”男人站起身,想送女人。“不了,我自己回去可以了。”女人摆了摆手。“回去吧,别让她等急了。”男人会心地笑了笑,转身要走。“她漂亮嘛?”“……嗯,很美。”男人的身影消失在夜色中,留下女人,对着蜡烛,发呆。   男人回到家,推开门,径直走进卧室,打开了台灯。沿着床边,他坐了下来。“老婆,已经第四个了。干嘛让我变得这么好,好多人喜欢我呀。搞不好,我会变心呀。干吗把我变得这么好,自己却先走了?我,我一个人,好孤单呀……”男人哽咽地说着,终于泣不成声。眼泪,一滴滴从男人的脸颊流下,打在手心里的相框上。昏暗的灯光中,旧照片里弥漫着的是已逝女子淡淡的柔。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 2 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 1.422 second(s), page refreshed 144802273 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号