- 浏览: 444327 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
danStart:
想问问,能监测服务是否挂掉吗?
公司要求实时监控服务器,写个Web的监控系统 -
hepct:
你好,最近在搭一个游戏服务器,能加好友请教下吗?1538863 ...
java游戏服务端实现 -
Limewwy:
没打完就发表了?为啥要这样设置?【游戏中需要传递用户的积分,这 ...
java游戏服务端实现 -
Limewwy:
楼主您好。请教为啥要这样设计?
java游戏服务端实现 -
3849801:
楼主,能够提供更具体的文档或者指导吗?我想搭建一个服务端,非常 ...
java游戏服务端实现
转载:http://blog.csdn.net/xwchen/archive/2007/04/27/1587431.aspx
/**
*@(#)Eryptogram.java1.0004/03/11
*
*Copyright(c)2003-2004Abacus,Ltd.
*
*加密解密类
*
*/**
*@(#)Eryptogram.java1.0004/03/11
*
*Copyright(c)2003-2004Abacus,Ltd.
*
*加密解密类
*
*
*
*/
package com.abacus.common ;
import java.security. *;
import javax.crypto. *;
/**
*加密解密类
*@authorWangHu
*@version1.002004年03月18日
*/
public class Eryptogram
{...
private static String Algorithm ="DES";
//定义加密算法,可用DES,DESede,Blowfish
static boolean debug =false ;
/**
*构造子注解.
*/
public Eryptogram ()
{...
}
/**
*生成密钥
*@returnbyte[]返回生成的密钥
*@throwsexception扔出异常.
*/
public static byte []getSecretKey ()throws Exception
{...
KeyGenerator keygen =KeyGenerator.getInstance (Algorithm );
SecretKey deskey =keygen.generateKey ();
if (debug )System.out.println ("生成密钥:"+byte2hex (deskey.getEncoded ()));
return deskey.getEncoded ();
}
/**
*将指定的数据根据提供的密钥进行加密
*@paraminput需要加密的数据
*@paramkey密钥
*@returnbyte[]加密后的数据
*@throwsException
*/
public static byte []encryptData (byte []input ,byte []key )throws Exception
{...
SecretKey deskey =new javax.crypto.spec.SecretKeySpec (key ,Algorithm );
if (debug )
{...
System.out.println ("加密前的二进串:"+byte2hex (input ));
System.out.println ("加密前的字符串:"+new String (input ));
}
Cipher c1 =Cipher.getInstance (Algorithm );
c1.init (Cipher.ENCRYPT_MODE ,deskey );
byte []cipherByte =c1.doFinal (input );
if (debug )System.out.println ("加密后的二进串:"+byte2hex (cipherByte ));
return cipherByte ;
}
/**
*将给定的已加密的数据通过指定的密钥进行解密
*@paraminput待解密的数据
*@paramkey密钥
*@returnbyte[]解密后的数据
*@throwsException
*/
public static byte []decryptData (byte []input ,byte []key )throws Exception
{...
SecretKey deskey =new javax.crypto.spec.SecretKeySpec (key ,Algorithm );
if (debug )System.out.println ("解密前的信息:"+byte2hex (input ));
Cipher c1 =Cipher.getInstance (Algorithm );
c1.init (Cipher.DECRYPT_MODE ,deskey );
byte []clearByte =c1.doFinal (input );
if (debug )
{...
System.out.println ("解密后的二进串:"+byte2hex (clearByte ));
System.out.println ("解密后的字符串:"+(new String (clearByte )));
}
return clearByte ;
}
/**
*字节码转换成16进制字符串
*@parambyte[]b输入要转换的字节码
*@returnString返回转换后的16进制字符串
*/
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 )
{...
try
{...
debug =false ;
Eryptogram etg =new Eryptogram ();
byte []key =etg.getSecretKey ();
System.out.println ("key="+key );
String aa ="1234567";
byte []data =aa.getBytes ();
System.out.println (data );
byte []en =etg.encryptData (data ,key );
System.out.println ("encryptData="+new String (en ));
byte []de =etg.decryptData (en ,key );
System.out.println ("decryptData="+new String (de ));
}
catch (Exception e )
{...
e.printStackTrace ();
}
}
*
*/
package com.abacus.common ;
import java.security. *;
import javax.crypto. *;
/**
*加密解密类
*@authorWangHu
*@version1.002004年03月18日
*/
public class Eryptogram
{...
private static String Algorithm ="DES";
//定义加密算法,可用DES,DESede,Blowfish
static boolean debug =false ;
/**
*构造子注解.
*/
public Eryptogram ()
{...
}
/**
*生成密钥
*@returnbyte[]返回生成的密钥
*@throwsexception扔出异常.
*/
public static byte []getSecretKey ()throws Exception
{...
KeyGenerator keygen =KeyGenerator.getInstance (Algorithm );
SecretKey deskey =keygen.generateKey ();
if (debug )System.out.println ("生成密钥:"+byte2hex (deskey.getEncoded ()));
return deskey.getEncoded ();
}
/**
*将指定的数据根据提供的密钥进行加密
*@paraminput需要加密的数据
*@paramkey密钥
*@returnbyte[]加密后的数据
*@throwsException
*/
public static byte []encryptData (byte []input ,byte []key )throws Exception
{...
SecretKey deskey =new javax.crypto.spec.SecretKeySpec (key ,Algorithm );
if (debug )
{...
System.out.println ("加密前的二进串:"+byte2hex (input ));
System.out.println ("加密前的字符串:"+new String (input ));
}
Cipher c1 =Cipher.getInstance (Algorithm );
c1.init (Cipher.ENCRYPT_MODE ,deskey );
byte []cipherByte =c1.doFinal (input );
if (debug )System.out.println ("加密后的二进串:"+byte2hex (cipherByte ));
return cipherByte ;
}
/**
*将给定的已加密的数据通过指定的密钥进行解密
*@paraminput待解密的数据
*@paramkey密钥
*@returnbyte[]解密后的数据
*@throwsException
*/
public static byte []decryptData (byte []input ,byte []key )throws Exception
{...
SecretKey deskey =new javax.crypto.spec.SecretKeySpec (key ,Algorithm );
if (debug )System.out.println ("解密前的信息:"+byte2hex (input ));
Cipher c1 =Cipher.getInstance (Algorithm );
c1.init (Cipher.DECRYPT_MODE ,deskey );
byte []clearByte =c1.doFinal (input );
if (debug )
{...
System.out.println ("解密后的二进串:"+byte2hex (clearByte ));
System.out.println ("解密后的字符串:"+(new String (clearByte )));
}
return clearByte ;
}
/**
*字节码转换成16进制字符串
*@parambyte[]b输入要转换的字节码
*@returnString返回转换后的16进制字符串
*/
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 )
{...
try
{...
debug =false ;
Eryptogram etg =new Eryptogram ();
byte []key =etg.getSecretKey ();
System.out.println ("key="+key );
String aa ="1234567";
byte []data =aa.getBytes ();
System.out.println (data );
byte []en =etg.encryptData (data ,key );
System.out.println ("encryptData="+new String (en ));
byte []de =etg.decryptData (en ,key );
System.out.println ("decryptData="+new String (de ));
}
catch (Exception e )
{...
e.printStackTrace ();
}
}
发表评论
-
ant使用小结
2014-04-01 13:12 3298Java代码 1. <prope ... -
模拟登录
2011-10-21 16:25 1875public class QQ { public stati ... -
在线查询使用常用API
2011-09-13 13:30 1386转载 收集了一些常用的API参考文档,放在这里以备及时 ... -
在linux中执行平台相关runtime.exec()
2011-03-23 15:46 2165/* * @(#) Exec.java Feb 28, 201 ... -
Finalize 和 GC的区别
2011-02-16 10:38 1244finalize()是由JVM自动调用的,你可以用System ... -
转:ThreadLocal示例
2010-09-09 09:00 1368本文借花献佛,引用Ti ... -
利用Tomcat7.0新特性,用BS实现CS的聊天服务器
2010-07-03 15:29 3506Tomcat7.0.0已经出来了,关注它已经支持se ... -
优化MyEclipse
2010-01-04 14:23 1294“工欲善其事必先利其 ... -
html放入一个String中,将每行<td class = "b"></td>中的值读出
2009-04-09 17:33 2716我现在有一个网页。 <html> <body ... -
编写高效的线程安全类
2009-03-24 11:22 950文档选项 ... -
Struts中Token的使用方法
2008-11-25 16:11 4677Token的使用方法使用Token可以防止当用 ... -
一个基于Java和ajax得Web层聊天室
2008-10-11 17:22 4299一个基于Java和Ajax的聊 ... -
J2EE开发之常用开源项目介绍
2008-08-06 19:49 1087J2EE开发之常用开源项目介绍 主要就我所了解的J2EE开 ... -
获得来访IP
2008-07-30 15:54 1528public static String ge ... -
Java发送Html请求,并解析返回的请求
2008-07-10 11:00 9515今天是2008年7月7日星期一,下午一直在学校做个人开始页面。 ... -
编写对gc友好,又不泄露的代码
2008-07-10 09:59 1147作者:江南白衣,最新版链接:http://blog.csdn. ... -
java.util.Collections.sort(List list)与Comparable,
2008-07-09 17:31 4920java.util.Collections.sort(List ... -
java不用jni,也可以获得当前系统性能信息
2008-07-04 13:23 11573最近做个项目,就是要取得cpu占有率等等的系统信息,一开始以为 ... -
在struts中使用checkbox实现批量删除
2008-04-30 11:32 4662<html:form StyleId = "d ... -
HttpURLConnection中获得重定向的地址 (转)
2008-04-22 09:35 10951HttpURLConnection使用中的一个问题,就是当连接 ...
相关推荐
Java加密解密工具是开发过程中不可或缺的部分,尤其是在处理敏感数据时,确保数据的安全性至关重要。在Java中,我们可以使用各种库和内置API来实现加密和解密操作。本篇文章将深入探讨Java加密解密的核心概念、常用...
Java加密解密工具包,通常用于保护敏感数据的安全,防止未经授权的访问或篡改。这个名为"JCT"的工具包提供了丰富的功能,使得开发者在Java应用中集成加密和解密操作变得更加简单。下面我们将详细探讨Java加密的相关...
Java加密解密技术在软件开发中扮演着至关重要的角色,特别是在数据安全领域。3DES(Triple Data Encryption Standard)是一种常见的加密算法,它基于DES(Data Encryption Standard)并对其进行了加强,提高了安全性...
总结来说,实现“java加密解密zip压缩包”项目,你需要理解Java的IO流、加密API以及如何结合使用这些工具来创建和读取加密的ZIP文件。同时,了解AS3的加密和ZIP处理机制,以便在需要的时候在AS3环境中解密这些文件。...
### 加密解密概述 #### 加密的应用 加密技术是信息安全的核心技术之一,它的主要作用是保护数据不被未授权的用户所读取。具体来说,加密是使用一种算法对明文数据进行转换,使其变为密文,这一过程称为加密...
一段java语言加密和解密的代码
Java加密解密程序是软件开发中的一个重要领域,主要用于保护数据的安全性和隐私性。在这个特定的案例中,我们讨论的是一个基于MyEclipse开发的Java应用程序,它实现了凯撒加密法,这是一种古老但基础的加密技术。...
1. **Java加密解密**:Java提供了丰富的库,如Java Cryptography Extension (JCE),用于实现各种加密和解密算法,如AES(高级加密标准)、DES(数据加密标准)、RSA(公钥加密算法)等。这些算法可以用于对数据进行...
Java加密解密是信息安全领域中的一个关键话题,特别是在软件开发中,它对于保护敏感数据、实现安全通信至关重要。Java提供了一系列强大的加密库和API,使得开发者可以方便地进行数据加密和解密操作。本项目提供的...
首先,标题"JAVA加密解密"表明我们将关注Java语言中用于保护数据隐私和安全的加密算法。Java提供了多种加密库,如Java Cryptography Extension (JCE) 和 Java Cryptography Architecture (JCA),这些库支持对称加密...
本教程"JAVA加密解密-3"聚焦于如何在Java环境中实现文件的加密和解密功能。以下是一些核心知识点: 1. **加密的基本概念**:加密是将明文数据转化为不可读的密文,以防止未经授权的访问。解密则是将密文还原为原始...
Java加密解密是信息安全领域的重要组成部分,用于保护数据的安全性和隐私。在Java中,我们可以使用多种加密算法来实现数据的加密和解密。本篇将详细介绍几种常见的加密算法及其在Java中的应用,包括DES、RSA以及非...
java加密和解密的方法,利用指定的密钥,可逆的。密钥必须16位。
### Java加密解密方法大全:深入解析 #### 加密概述及其重要性 在当今数字化时代,信息安全成为企业和个人关注的焦点。加密技术作为保障数据安全的关键手段,其重要性不言而喻。加密,实质上是一种通过特殊算法...
java 加密 解密 jar security,助你有效安全开发系统 java 加密 解密 jar security,助你有效安全开发系统
### Java加密解密小程序知识点详解 #### 一、程序概述 本程序是一个基于Java Swing的图形用户界面(GUI)加密解密工具。它允许用户在窗口中输入明文信息,并通过点击“加密”按钮实现对信息的加密处理;加密后的...