下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在java中调用sun公司提供的3DES加密解密算法时,需要使用到$JAVA_HOME/jre/lib/目录下如下的4个 jar 包:jce.jarsecurity/US_export_policy.jarsecurity/local_policy.jarext/sunjce_provider.jarCLASSPAT环境变量Java 运行时会自动加载这些包,因此对于带 main 函数的应用程序不需要设置到 中。对于 WEB应用,不需要把这些包加到WEB-INF/lib目录下。以下是java中调用sun公司提供的3DES加密解密算法的样本代码:加密解密代码import java.security
2、.Security;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;/* 字符串 DESede(3DES) 加密*/public class ThreeDes /* param args在java中调用sun公司提供的3DES加密解密算法时,需要使* 用到 $JAVA_HOME/jre/lib/ 目录下如下的 4个 jar 包:*jce.jar*security/US_export_policy.jar*security/local_policy.ja
3、r*ext/sunjce_provider.jar*/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 = C
4、ipher.getInstance(Algorithm); c1.init(Cipher.ENCRYPT_MODE, deskey);return c1.doFinal(src);/ 在单一方面的加密或解密 catch (java.security.NoSuchAlgorithmException e1) / TODO: handle exception e1.printStackTrace();catch(javax.crypto.NoSuchPaddingException e2) e2.printStackTrace();catch(java.lang.Exception e3)e3.p
5、rintStackTrace();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); catc
6、h (java.security.NoSuchAlgorithmException e1) / TODO: handle exception 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
7、stmp=""for(int n=0; n<b.length; n+)stmp = (java.lang.Integer.toHexString(bn& 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) / TODO Auto-generated method
8、stub/ 添加新安全算法 , 如果用 JCE 就要把它添加进去Security.addProvider(new vider.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(" 加密后的字符串 :"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度印刷厂与出版社合作打印合同范本4篇
- 2025年度外墙保温技术改造项目施工合同书3篇
- 2025年度生态旅游开发承包合同模板4篇
- 2024舞蹈赛事组织与管理服务合同
- 2025年度特色小吃店联合经营合同3篇
- 2025年度厨房设备安装与用户培训支持合同3篇
- 2025年度物流中心承包经营合作协议书4篇
- 2024退学协议书:涉及在线教育平台学员退费及课程重置合同3篇
- 2024网络安全防护系统技术开发与服务合同
- 2024版设备软件采购及技术服务合同
- 上海车位交易指南(2024版)
- 医学脂质的构成功能及分析专题课件
- 通用电子嘉宾礼薄
- 钱素云先进事迹学习心得体会
- 道路客运车辆安全检查表
- 宋晓峰辣目洋子小品《来啦老妹儿》剧本台词手稿
- 附录C(资料性)消防安全评估记录表示例
- 噪音检测记录表
- 推荐系统之协同过滤算法
- 提高筒仓滑模施工混凝土外观质量QC成果PPT
- 小学期末班级颁奖典礼动态课件PPT
评论
0/150
提交评论