欢迎来到天天文库
浏览记录
ID:37851885
大小:26.00 KB
页数:3页
时间:2019-06-01
《java加密枝术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java加密枝术★编程思路:java.security包中的MessageDigest类提供了计算消息摘要的方法,首先生成对象,执行其update()方法可以将原始数据传递给该对象,然后执行其digest()方法即可得到消息摘要。具体步骤如下:(1)生成MessageDigest对象MessageDigestm=MessageDigest.getInstance("MD5");分析:和2.2.1小节的KeyGenerator类一样。MessageDigest类也是一个工厂类,其构造器是受保护的,不允许直接使用newMessageDigist()来创建对象,而必须通过其静态方法get
2、Instance()生成MessageDigest对象。其中传入的参数指定计算消息摘要所使用的算法,常用的有"MD5","SHA"等。若对MD5算法的细节感兴趣可参考[url]http://www.ietf.org/rfc/rfc1321.txt[/url]。(2)传入需要计算的字符串m.update(x.getBytes("UTF8"));分析:x为需要计算的字符串,update传入的参数是字节类型或字节类型数组,对于字符串,需要先使用getBytes()方法生成字符串数组。(3)计算消息摘要bytes[]=m.digest();分析:执行MessageDigest对象的dige
3、st()方法完成计算,计算的结果通过字节类型的数组返回。(4)处理计算结果必要的话可以使用如下代码将计算结果s转换为字符串。Stringresult="";for(inti=0;iresult+=Integer.toHexString((0x000000ff&s)
4、0xffffff00).substring(6);}★代码与分析:完整程序如下:importjava.security.*;publicclassDigestPass{publicstaticvoidmain(Stringargs[])throwsException{Stringx=args[0];MessageDige
5、stm=MessageDigest.getInstance("MD5");m.update(x.getBytes("UTF8"));bytes[]=m.digest();Stringresult="";for(inti=0;iresult+=Integer.toHexString((0x000000ff&s)
6、0xffffff00).substring(6);}System.out.println(result);}}★运行程序输入javaDigestCalcabc来运行程序,其中命令行参数abc是原始数据,屏幕输出计算后的消息摘要:900150983cd24fb0d6963f7d
7、28e17f72。
此文档下载收益归作者所有