- 浏览: 228211 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
wahahachuang8:
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的 ...
服务器推送技术 java -
mahuanjian:
[flash=200,200][/flash]
服务器推送技术 java -
wenjundiandian:
下面有网页编辑器的话还是会被隐藏.
ext中消息框、提示框、确认框显示在最前面的解决方法 -
天塔上的猫:
/**
* JAVA常见的权限控制算法的实现
*
* ...
JAVA常见的权限控制算法的实现
在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)));
}
}
来源:http://java.chinaitlab.com/advance/794851.html
发表评论
-
利用 Heritrix 构建特定站点爬虫
2011-01-12 13:42 861Heritrix 是一个由 java 开 ... -
java解析xml文件四种方式
2011-01-10 16:23 6951.介绍 1)DOM(JAXP Crims ... -
Spring AOP的两种实现方式
2010-12-10 09:16 874来源:http://javacrazyer.iteye.com ... -
详解Java解析XML的四种方法
2010-12-09 22:31 819来源:http://mengsina.iteye.co ... -
(转载)手写压缩软件,超详细解释(哈夫曼实现)
2010-12-07 11:17 1047转载自:http://stchou.iteye.com/b ... -
java通过包装器防SQL注入
2010-01-29 11:04 1182定义包装器对request进行 ... -
comparable 与comparator的区别
2010-01-29 09:12 927Comparable & Comparator 都是用 ... -
Java经典问题算法大全
2010-01-28 20:52 2998/*【程序1】题目:古典 ... -
Java各种排序算法
2010-01-28 20:50 893/*** 排序测试类* * 排序算法的分类如下:* 1.插入排 ... -
Java细节总结
2010-01-28 20:46 687TURE、FALSE、NULL等都不是Java关键字; 数组 ... -
设计异常管理系统
2010-01-28 20:37 820——针对有效的错误处理设计异常管理系统 作者:Jean-Pie ... -
使用Filter快速对网页资源进行缓存
2010-01-28 20:18 875使用Filter快速对网页资源进行缓存,在网页资源没有改变的情 ... -
详解ThreadLocal与synchronized
2010-01-28 20:14 767Java良好的支持多线程。使用java,我们可以很轻松的编程一 ... -
在有多个选择路径的情况下,利用Switch可以使程序更加简洁有效。但由于其只能对整数选择因子进行判断,所以限制了其在其他类型尤其是String的使用,本文利用J
2010-01-28 20:04 851在有多个选择路径的情况下,利用Switch可以使程序更加简洁有 ... -
java优化编程37条
2010-01-28 20:00 6831.JVM管理两种类型的内 ... -
服务器推送技术 java
2009-12-28 12:11 6246下面介绍在ARP之上的一个非常热门的技术实现:服务器推送技术。 ... -
java排序集锦
2009-12-16 09:29 804Java代码 package sort; ... -
java货币 Locale Currency NumberFormat
2009-12-04 18:14 2338使用java currency配合Locale,NumberF ... -
Deque 作为堆栈使用(ArrayDeque)
2009-12-04 18:09 2760package code.jdk; imp ... -
Random类
2009-12-04 14:00 1011Random类 (java.util) ...
相关推荐
jce.jar security/US_export_policy.jar ... 以下是java中调用sun公司提供的3DES加密解密算法的样本代码: 代码如下:/*字符串 DESede(3DES) 加密*/ import java.security.*; import javax.crypto.*; import javax.c
调用方法(加密》解密》加密): unsigned char key1[] = "12345678"; unsigned char key2[] = "abcdefgh"; unsigned char key3[] = "~!@#$%^&"; //如果只需要两组密钥,则本组密钥可以和密钥1一样。 unsigned...
PB可用md5加密、des加解密DLL,附Powerbilder9.0调用例程。
本程序支持字符串和文件加密和解密,密文以16进制形式输出。能够显示输入密钥的16轮子密钥,对于输入的8字节明文能够显示出16轮迭代的中间结果。鉴于本人有限,有不对的地方希望大家多多批评和指正! 本人上传的处女...
DES加密算法,有示例,调用简单,中英文数字混合
这个C#类封装的DES加密解密,可以使用默认秘钥进行加密、解密,也可以自定义秘钥进行加密、解密,调用简单方便。 示例一: using System; using System.Security.Cryptography; using System.Text; namespace ...
'调用示例 Debug.Print(stringToHex(des_crypt("MinqfDesTest", "mimi9924", 1))) '加密 Debug.Print(des_crypt("MinqfDesTest", hexToString("3F2DFAAC155A9D5A"), 0)) '解密 这两天要做个VB程序访问PHP的Web服务...
├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整...
├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整...
├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整...
用DLL实现注册认证的示例 \DLLProtect................DLL控件保护示例 ├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL....
算法库集成的算法有:BlowFish,MD5,Secret16,AES、SHA、CRC32、RSA、DES、字符串加/解密、文件加/解密等多种功能强大的算法,可以满足软件开发的各类需求,加密算法库附有详细的函数说明及各类软件调用示例。
├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整...
├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整...
采用pb11.5 + pbni + vs2015 + rapidjson的开源库,生成解析json,支持datawindow快速导入导出字段名有大写字母的json,支持dw导入出json时对指定字段进行des加密,并在导入到dw时时进行des解密,修改了pbvm115.dll...
算法库集成的算法有:BlowFish,MD5,Secret16,AES、SHA、CRC32、RSA、DES、字符串加/解密、文件加/解密等多种功能强大的算法,可以满足软件开发的各类需求,加密算法库附有详细的函数说明及各类软件调用示例。
windows客户端常用工具包,包括取IP、MAC地址、硬盘物理序列号、机器名、登录名、DES加解密、MD5加密、telnet测试端口。 内附PB调用dll的示例源代码
MFC+DLL的编写和调用示例 MFC换肤完全贴图实现 Smile简体版 Linux内核完全注释附 MFC+消息循环贴图---金山毒霸界面 自绘控件实现。 MFCDemo DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI...
映射标记 Java的“静态库链接” 姚博文 集成ACEGI 进行权限控制 SWT可交互式Browser控件 JDK配置(注意) RIA简介(第一部分) 在 Eclipse 中嵌入 NASA World Wind Java SDK, 用3DES加密解密 ...