- 浏览: 191712 次
- 性别:
- 来自: 深圳
最新评论
-
shis_y:
那是你的localhost或者web服务器的80端口被占用或者 ...
通过虚拟地址解决fckeditor错误的加载/fckeditor/fckstyles.xml -
forcer521:
com.gemt.dataswap.util.Constant ...
使用DES算法进行加密和解密 -
ngn9999:
dTree确实不错,这是我的使用经验: http://www. ...
javascript树型菜单(Dtree和Xtree) -
yueliangwolf:
这个dhtmlxtree.js里面有enableSmartXM ...
使用xml或者json方式生成dhtmlxtree -
yanMouse:
谢谢,能否有个联系方式,我现在也在看这方面的东西
dhtmlxtree的一个实用demo
java 代码
- package com.gemt.dataswap.security;
- import java.security.Security;
- import javax.crypto.Cipher;
- import javax.crypto.KeyGenerator;
- import javax.crypto.SecretKey;
- import javax.crypto.spec.SecretKeySpec;
- import com.gemt.dataswap.util.Constants;
- public class DES {
- public static int _DES = 1;
- public static int _DESede = 2;
- public static int _Blowfish = 3;
- private Cipher p_Cipher;
- private SecretKey p_Key;
- private String p_Algorithm;
- private void selectAlgorithm(int al) {
- switch (al) {
- default:
- case 1:
- this.p_Algorithm = "DES";
- break;
- case 2:
- this.p_Algorithm = "DESede";
- break;
- case 3:
- this.p_Algorithm = "Blowfish";
- break;
- }
- }
- public DES(int algorithm) throws Exception {
- this.selectAlgorithm(algorithm);
- Security.addProvider(new com.sun.crypto.provider.SunJCE());
- this.p_Cipher = Cipher.getInstance(this.p_Algorithm);
- }
- public byte[] getKey() {
- return this.checkKey().getEncoded();
- }
- private SecretKey checkKey() {
- try {
- if (this.p_Key == null) {
- KeyGenerator keygen = KeyGenerator.getInstance(this.p_Algorithm);
- /*
- SecureRandom sr = new SecureRandom(key.getBytes());
- keygen.init(168, sr);*/
- this.p_Key = keygen.generateKey();
- }
- }
- catch (Exception nsae) {}
- return this.p_Key;
- }
- public void setKey(byte[] enckey) {
- this.p_Key = new SecretKeySpec(enckey, this.p_Algorithm);
- }
- public byte[] encode(byte[] data) throws Exception {
- this.p_Cipher.init(Cipher.ENCRYPT_MODE, this.checkKey());
- return this.p_Cipher.doFinal(data);
- }
- public byte[] decode(byte[] encdata, byte[] enckey) throws Exception {
- this.setKey(enckey);
- this.p_Cipher.init(Cipher.DECRYPT_MODE, this.p_Key);
- return this.p_Cipher.doFinal(encdata);
- }
- public String byte2hex(byte[] b) {
- String hs = "";
- String stmp = "";
- for (int i = 0; i < b.length; i++) {
- stmp = Integer.toHexString(b[i] & 0xFF);
- if (stmp.length() == 1) {
- hs += "0" + stmp;
- }
- else {
- hs += stmp;
- }
- }
- return hs.toUpperCase();
- }
- public byte[] hex2byte(String hex) throws IllegalArgumentException {
- if (hex.length() % 2 != 0) {
- throw new IllegalArgumentException();
- }
- char[] arr = hex.toCharArray();
- byte[] b = new byte[hex.length() / 2];
- for (int i = 0, j = 0, l = hex.length(); i < l; i++, j++) {
- String swap = "" + arr[i++] + arr[i];
- int byteint = Integer.parseInt(swap, 16) & 0xFF;
- b[j] = new Integer(byteint).byteValue();
- }
- return b;
- }
- /**
- * this is DES algorithm, the string will be encode become hex
- * @param info
- * @return
- * @throws Exception
- */
- public String encode(String info, byte[] key) {
- setKey(key);
- try{
- return byte2hex(encode(info.getBytes()));
- }
- catch (Exception e)
- {
- return info;
- }
- }
- /**
- * this is DES algorithm, the string will be decode from hex text
- * @param info
- * @return
- * @throws Exception
- */
- public String decode(String info, byte[] key) {
- try {
- return new String(decode(hex2byte(info), key));
- }
- catch (Exception e)
- {
- return info;
- }
- }
- public String decode(String info, String hexkey) throws IllegalArgumentException, Exception {
- return new String(decode(hex2byte(info), hex2byte(hexkey)));
- }
- public static void main(String[] args) throws Exception {
- /*
- String info = "要加密的字串";
- System.out.println("region string:" + info);
- byte[] key; //密钥文件(byte)
- DES des = new DES(DES._DESede); // 声明DES
- //key = des.getKey(); //获取随机生成的密钥
- key = "thisisgeomatthisisgeomat".getBytes();
- des.setKey(key);
- System.out.println("key's length is " + key.length);
- System.out.println("encrypted key(byte):" + new String(key));
- String hexkey = des.byte2hex(key); //生成十六进制密钥
- System.out.println("encrypted key(hex):" + hexkey);
- byte[] enc = des.encode(info.getBytes()); //生成加密文件(byte)
- System.out.println("encrypted string(byte):" + new String(enc));
- String hexenc = des.byte2hex(enc); //生成十六进制加密文件
- System.out.println("encrypted string(hex):" + hexenc);
- byte[] dec = des.decode(enc, des.hex2byte(hexkey)); //解密文件,其中转换十六进制密钥为byte
- System.out.println("decrypted string:" + new String(dec)); //生成解密文件字符串, 与info相同
- */
- DES des = new DES(DES._DESede);
- String info = "大家好,this is a encode & decode test 9875603421???";
- String passinfo = des.encode(info, Constants.PASSWORD_KEY);
- System.out.println("passinfo is :: " + passinfo);
- String oldStr = des.decode(passinfo, Constants.PASSWORD_KEY);
- System.out.println("old string is :: " + oldStr);
- }
- }
发表评论
-
kdb+/q
2008-11-28 20:13 1911因为一个项目接触了kdb+/q, kdb+/q的执行速度应该 ... -
seam随笔
2008-09-28 20:33 1209前段时间,因为客户的一个项目接触了seam,客户那边在 ... -
richfaces换肤
2008-08-27 23:18 0http://leonardinius.blogspot.co ... -
jfree chart...
2008-08-17 11:38 0see attachment. -
crystal report
2008-08-04 21:57 0crystal report http://oceang-y. ... -
js code example
2008-07-01 16:25 0<html> <body> <s ... -
dhtmlgoodies网站上的一些js,也许在工作中用得到
2008-06-23 16:28 1537到http://www.dhtmlgoodies.com ... -
Hibernate的一个例子
2008-05-31 23:32 1092通过hibernate tools的反向工程从数据库产生ent ... -
使用xml或者json方式生成dhtmlxtree
2008-05-14 18:01 68181. dao private static Paramete ... -
在cxf基础上整的一个框架
2008-04-24 08:48 1102使用cxf作为webservice的服务器,以spring b ... -
S60签名
2008-04-16 17:14 1516前段时间写了一个程序,放到S60第三版的手机系统上面老是报权限 ... -
socket消息超时重发的设想
2008-04-08 17:00 4062我们经常遇到的一个问题就是:发送一条消息,若在T秒内没有 ... -
io,nio和操作系统命令性能比较
2008-03-31 20:50 2269package org.clarance; import j ... -
要开始做一个网络的项目了
2008-03-27 22:38 1321一个在线环境监测的项目, 监控中心用java编写,接受现 ... -
使用jQuery解决portal登陆慢的问题
2007-12-19 16:58 2272因为portal中的好几块地方(portlet)取数据比较慢, ... -
使用javascript遍历XML文件并显示
2007-12-10 17:11 6686以下代码在IE和Firefox上测试通过: <html& ... -
JSON技术实战
2007-12-07 09:23 11052JSON作为一种信息的载体 ... -
使用HttpClient对web应用进行测试
2007-11-29 16:19 2964在几天程序突然报出了数据库连接被管理员销毁的情况! 一时之间也 ... -
判断日期是否有效的正则表达式
2007-09-10 17:59 1245function isValidDate(dateStr, f ... -
取oracle的error code
2007-08-30 15:39 2830有时候需要知道oracle的error code的具体含义, ...
相关推荐
DES 算法加密算法解密算法 DES 算法概述 DES(Data Encryption Standard)是一种对称密钥块加密算法,由美国 IBM 公司的 W. Tuchman 和 C. Meyer 于 1971-1972 年研制成功。1973 年,美国国家标准局(NBS)公开...
3. 加密和解密操作是 DES 加密解密算法的核心,使用子密钥和加密解密算法来实现。 4. 基本操作是 DES 加密解密算法的基础,包括循环左移、IP 置换、扩展置换、选择函数 S 和异或操作。 DES 加密解密算法的 C 语言...
DES算法是美国国家标准局(NBS)于1977年颁布的数据加密标准(FIPS),它使用56位的密钥对64位的明文进行加密和解密。 DES算法的加密过程可以分为以下几个步骤: 1.初始置换(IP):将64位的明文进行换位处理,...
- 创建DESCryptoServiceProvider对象,这是VB中实现DES算法的入口。 - 设置密钥和初始化向量(IV)。DES算法需要一个64位的密钥,但只有56位真正参与加密,剩下的8位用于奇偶校验。同时,IV用于初始块加密状态,...
2. 加密函数:接受明文数据,使用DES算法加密,返回密文。 3. 解密函数:接受密文数据,使用相同的密钥进行解密,返回明文。 4. 密钥设置函数:处理密钥,确保其满足DES的要求。 5. 错误处理机制:捕获和处理可能...
首先,DES_ECB加密解密类的核心在于实现DES算法的加密和解密过程。DES算法基于64位的数据块进行操作,通过一系列的置换、异或和迭代函数来变换明文,形成密文。ECB模式下,每个64位的数据块都是独立加密的,这意味着...
当您使用DES算法加密文件或文件夹时,您需要先生成一个密钥,这个密钥只有拥有者知道。加密过程会将明文数据(未加密的数据)转换为无法读取的密文,只有使用正确的密钥才能解密回原始内容。在Windows、Linux或Mac等...
DES算法加密解密1M文件,并计算加密和解密时间
DES对称加密算法进行加密和解密的步骤: 输入8位密钥和数据。 将输入的数据分别转换为16位十六进制和字符输出。 使用输入的密钥对数据进行加密。加密过程中会进行一系列的置换、替代和移位操作。 将加密后的结果...
4. **逆过程**:解密过程与加密类似,只是在某些步骤上进行逆操作,如轮函数中的异或操作是在不同的数据上进行,且子密钥的使用顺序相反。 在"密码学课程设计报告.docx"中,可能包含了关于DES算法的理论介绍、C语言...
C语言实现DES算法DES加密算法实验报告.doc
### C#中使用DES算法加密字符串为定长字符串的方法及代码实现 #### 知识点概述 本文档主要介绍了在C#编程语言中使用DES算法进行字符串加密的具体方法,并提供了完整的代码实现示例。文档中所提到的代码通过.NET...
### JS网页界面实现DES算法支持中文加密解密 #### 知识点概述 本文将详细介绍一个基于JavaScript(JS)的网页界面实现数据加密标准(Data Encryption Standard, DES)算法的过程,该实现支持中文文本的加密与解密...
使用DES算法加密、解密文本、文件,十六进制显示。 提供源代码。 缺点:没有处理文件末尾。
DES算法使用56位的密钥,通过一系列复杂的置换和混淆操作对64位的数据块进行加密。尽管DES现在被认为安全性较低,因为它相对较短的密钥长度容易受到现代计算能力的攻击,但在学习加密原理和历史时仍然具有很高的价值...
使用C++实现DES算法进行加密解密,内含详细注释和加密解密的示例运行。
这篇C语言源代码实现了DES加密解密算法,特别适合于资源有限的环境,如STM32或51单片机。STM32系列是基于ARM Cortex-M内核的微控制器,而51单片机则是早期广泛应用的8位微处理器。在这些平台上,由于内存(RAM)资源...
1. 初始化:首先需要一个随机的初始化向量(IV),这个向量与第一个明文块进行异或,然后用DES算法加密。 2. 加密过程: - 对于每个明文块M_i,将其与上一个密文块C_{i-1}进行异或操作,得到XOR的结果X_i。 - 将X...
本文将深入探讨如何使用MFC(Microsoft Foundation Classes)库实现DES(Data Encryption Standard)加密解密算法,以及如何支持文件的打开和保存操作。 DES是一种对称加密算法,由IBM在1970年代开发,并在1977年被...