- 浏览: 466452 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zjxkeven:
放在自己工程上不报错,已放在服务器上就报错
java获得CPU使用率,系统内存,虚拟机内存等情况 -
wang1990cool:
能运行?我报错啊、
java获得CPU使用率,系统内存,虚拟机内存等情况 -
yue_ch:
yue_ch 写道getTotalPhysicalMemory ...
java获得CPU使用率,系统内存,虚拟机内存等情况 -
yue_ch:
getTotalPhysicalMemorySize()get ...
java获得CPU使用率,系统内存,虚拟机内存等情况 -
kjmmlzq19851226:
private RealSubject realSubject ...
代理模式,静态代理与动态代理
DES 和 3DES 加解密的使用,加密时,不足8的倍数请补充到8的倍数
package com.crypto; import java.security.spec.KeySpec; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.DESedeKeySpec; public class MyDES { static String DES = "DES/ECB/NoPadding"; static String TriDes = "DESede/ECB/NoPadding"; public static byte[] des_crypt(byte key[], byte data[]) { try { KeySpec ks = new DESKeySpec(key); SecretKeyFactory kf = SecretKeyFactory.getInstance("DES"); SecretKey ky = kf.generateSecret(ks); Cipher c = Cipher.getInstance(DES); c.init(Cipher.ENCRYPT_MODE, ky); return c.doFinal(data); } catch (Exception e) { e.printStackTrace(); return null; } } public static byte[] des_decrypt(byte key[], byte data[]) { try { KeySpec ks = new DESKeySpec(key); SecretKeyFactory kf = SecretKeyFactory.getInstance("DES"); SecretKey ky = kf.generateSecret(ks); Cipher c = Cipher.getInstance(DES); c.init(Cipher.DECRYPT_MODE, ky); return c.doFinal(data); } catch (Exception e) { e.printStackTrace(); return null; } } public static byte[] trides_crypt(byte key[], byte data[]) { try { byte[] k = new byte[24]; int len = data.length; if(data.length % 8 != 0){ len = data.length - data.length % 8 + 8; } byte [] needData = null; if(len != 0) needData = new byte[len]; for(int i = 0 ; i< len ; i++){ needData[i] = 0x00; } System.arraycopy(data, 0, needData, 0, data.length); if (key.length == 16) { System.arraycopy(key, 0, k, 0, key.length); System.arraycopy(key, 0, k, 16, 8); } else { System.arraycopy(key, 0, k, 0, 24); } KeySpec ks = new DESedeKeySpec(k); SecretKeyFactory kf = SecretKeyFactory.getInstance("DESede"); SecretKey ky = kf.generateSecret(ks); Cipher c = Cipher.getInstance(TriDes); c.init(Cipher.ENCRYPT_MODE, ky); return c.doFinal(needData); } catch (Exception e) { e.printStackTrace(); return null; } } public static byte[] trides_decrypt(byte key[], byte data[]) { try { byte[] k = new byte[24]; int len = data.length; if(data.length % 8 != 0){ len = data.length - data.length % 8 + 8; } byte [] needData = null; if(len != 0) needData = new byte[len]; for(int i = 0 ; i< len ; i++){ needData[i] = 0x00; } System.arraycopy(data, 0, needData, 0, data.length); if (key.length == 16) { System.arraycopy(key, 0, k, 0, key.length); System.arraycopy(key, 0, k, 16, 8); } else { System.arraycopy(key, 0, k, 0, 24); } KeySpec ks = new DESedeKeySpec(k); SecretKeyFactory kf = SecretKeyFactory.getInstance("DESede"); SecretKey ky = kf.generateSecret(ks); Cipher c = Cipher.getInstance(TriDes); c.init(Cipher.DECRYPT_MODE, ky); return c.doFinal(needData); } catch (Exception e) { e.printStackTrace(); return null; } } public static void main(String[] args) { byte k1[] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, (byte) 0x88 }; byte k2[] = { (byte) 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11 }; byte k24[] = new byte[24]; System.arraycopy(k1, 0, k24, 0, 8); System.arraycopy(k2, 0, k24, 8, 8); System.arraycopy(k1, 0, k24, 16, 8); byte data[] = // hexToBytes("00000000" + "00000000" + "00000000" + "00000000" + "0000c619" + "f4fb7bde" + "51309100" + "00110000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000" + "00000000"); // data = new byte[8]; // byte des_crypt[] = des_crypt(k1, data); // byte des_descrypt[] = des_decrypt(k2, des_crypt); // byte result[] = des_crypt(k1, des_descrypt); byte result[] = trides_crypt(k24, data); // byte origin[] = trides_decrypt(k24, result); System.out.println("Result = " + result); } public static byte[] hexToBytes(String str) { if (str == null) { return null; } else if (str.length() < 2) { return null; } else { int len = str.length() / 2; byte[] buffer = new byte[len]; for (int i = 0; i < len; i++) { buffer[i] = (byte) Integer.parseInt(str.substring(i * 2, i * 2 + 2), 16); } return buffer; } } }
发表评论
-
member系统
2013-08-05 16:18 0member 系统源码 -
hibernate generate tool
2012-09-06 11:33 0hibernate generate tool -
funcation spec and technical spec of vanceinfo
2012-08-02 11:21 0asdfasdf -
Web大数据量页面优化实践
2012-07-02 15:18 899pdf见附件 -
Eclipse Shortcuts
2012-02-29 16:31 865http://www.allapplabs.com/eclip ... -
协议的定制
2011-04-19 17:42 0哀伤的发生的发送方的 wireshark 截取发送消 ... -
uc面试
2011-04-14 18:03 0一、综合测试 1、有7 ... -
velocity输出csv的一种做法
2010-10-12 16:36 2350使用spring mvc + velocity做项目时, ... -
java平台启动脚本
2012-07-27 16:37 4118window平台java启动脚本 @e ... -
flex相关资料
2010-04-24 22:05 0http://www.adobe.com/devnet/fle ... -
开放平台的一些思考
2010-03-22 17:22 0开放平台开发人员编写rpc请求,还是直接进行服务代 ... -
web开发中的中文问题
2014-02-22 21:44 837web开发中的中文 ... -
Evaluation_strategy:java call by sharing赋值策略参数传递
2010-02-14 06:25 187关于java call by value or call by ... -
osgi的企业级开发的一些经验
2010-02-05 17:01 2087前面看了论坛里面关 ... -
spring 3.0 应用springmvc 构造RESTful URL 示例
2010-02-04 12:22 0转载自:http://niyong.iteye.com/blo ... -
声明式缓存,View层缓存讨论
2010-02-03 23:19 1097背景:由于理财专区二期的基金数据一天更新一次。并且都是非操作型 ... -
mysql guide
2010-01-31 17:07 0mysql最大能存多少 InnoDB存储引擎将Inno ... -
面试题系列一:exception未被捕获,但有finally,请问打印结果
2010-01-23 23:33 294看代码,猜结果: package jyy.exceti ... -
hello maven
2010-01-23 23:30 2368创建项目 mvn archetype:create - ... -
有趣的实验报告
2009-12-25 12:51 236淘宝一位同事上大学时 ...
相关推荐
java实现的3DES加密算法,类中支持多种密钥长度
3des加密 java
主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下
Java实现文件的RSA和DES加密 说明代码
des加密解密java实现des加密解密java实现des加密解密java实现des加密解密java实现des加密解密java实现des加密解密java实现
Java 3des加密算法ECB模式,亲测完美通过。目前网上的大部分算法都通不过或者加进Base64之类的,还要不下载其它jar包。而代码使用时直接下载运行,无须配置和下载额外的jar包 ,只需换上自己的密钥和待加密的数据...
JAVA_DES3加密算法,完整的JAVA DES3 包括获取key,字符串类型和byte型的算法加密和解密
js&java DES加密互通
实现使用3des在页面js加密,后台java解密
Java 中的 3DES 加密解密示例(封装 byte 数组和 16 进制字符串互转) 在 Java 中,3DES 加密是一种常用的加密算法,它可以将明文数据转换为密文数据,以保护数据的安全性。在本示例中,我们将展示如何使用 3DES ...
des加密解密算法,通过DES加密解密实现一个String字符串的加密和解密.
DES加密,DES解密,可以输入密钥后进行加密和解密,支持可逆加密解密。内含PHP加密、解密 和 JAVA加密解密,双方可以互通,亲测有效
java的DES加密解密:用于密码在数据库的加密,解码类
DESjs加密和Java互通 javascript+DES加密算法 DESjs加密和Java互通 javascript+DES加密算法
java 3des加密、解密工具类 java的3DES加密/解密
java和javascript加密解密,可相互加密解密,内含javascript代码和java代码,解压即用,自定义密钥
JavaDES通过秘钥加密解密Demo
Java实现des加密解密算法,des加密解密算法
DES加密 java源文件DES加密 java源文件DES加密 java源文件DES加密 java源文件
JAVA实现RSA加密和3DES加解密,。