教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
  网站导航: 库库中文网 · 系统编程教程 · Java语言 · Java文档库 · Java其它开发  

java编程加密枝术介绍

教程推荐
『java编程加密枝术介绍』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2009-1-23 14:24:19 

★ 编程思路:

java.security包中的MessageDigest类提供了计算消息摘要的方法, 首先生成对象,执行其update( )方法可

以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。具体步骤如下:


(1)生成MessageDigest对象

MessageDigest m=MessageDigest.getInstance("MD5");

分析:和2.2.1小节的KeyGenerator类一样。MessageDigest类也是一个工厂类,其构造器是受保护的,不允许

直接使用new MessageDigist( )来创建对象,而必须通过其静态方法getInstance( )生成MessageDigest对象。

其中传入的参数指定计算消息摘要所使用的算法,常用的有"MD5","SHA"等。若对MD5算法的细节感兴趣可参考

http://www.ietf.org/rfc/rfc1321.txt

(2)传入需要计算的字符串

m.update(x.getBytes("UTF8" ));

分析:x为需要计算的字符串,update传入的参数是字节类型或字节类型数组,对于字符串,需要先使用

getBytes( )方法生成字符串数组。

(3)计算消息摘要

byte s[ ]=m.digest( );

分析:执行MessageDigest对象的digest( )方法完成计算,计算的结果通过字节类型的数组返回。

(4)处理计算结果

必要的话可以使用如下代码将计算结果s转换为字符串。

String result="";

for (int i=0; i

result+=Integer.toHexString((0x000000ff & s) | 0xffffff00).substring(6);

}

 

★代码与分析:

完整程序如下:

import java.security.*;

public class DigestPass{

public static void main(String args[ ]) throws Exception{

String x=args[0];

MessageDigest m=MessageDigest.getInstance("MD5");

m.update(x.getBytes("UTF8"));

byte s[ ]=m.digest( );

String result="";

for (int i=0; i

result+=Integer.toHexString((0x000000ff & s) | 0xffffff00).substring(6);

}

System.out.println(result);

}

}

 

★运行程序

输入java DigestCalc abc来运行程序,其中命令行参数abc是原始数据,屏幕输出计算后的消息摘要:

900150983cd24fb0d6963f7d28e17f72。

】【关闭窗口
  上一页:
  下一页:后面的文章暂时没有更新了,请多关注QQgb.com
Java其它开发:相关文章
Java其它开发点击榜
普通教程java编程加密枝术介绍
普通教程Portable-Apps (便携式软件)
普通教程SAP NetWeaver J2EE Preview Ed
普通教程感慨于丁肇中教授地“技术地发展
普通教程Liferay Portal额外研究(6):
普通教程全方位认知ODBC技术
普通教程怎么样在Windosws 2000中安装PH
普通教程论工作流与平台地发展怪圈(一)
普通教程SAP技术趋势及建议
普通教程DataWindow自动匹配多个Retriev
PHOTOSHOP - 基础教程 抠图专题 蒙版专题 3DsMax 基础 设计实例 Maya设计实例
3D设计教程
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright ? 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL. 电脑硬件 电脑知识 教程学习
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光