源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java加密枝术深入理解

  • 时间:2022-04-29 23:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java加密枝术深入理解
[b]★ 编程思路[/b]: java.security包中的MessageDigest类提供了计算消息摘要的方法, 首先生成对象,执行其update( )方法可以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。具体步骤如下: [b](1)生成MessageDigest对象[/b] MessageDigest m=MessageDigest.getInstance("MD5"); 分析:和2.2.1小节的KeyGenerator类一样。MessageDigest类也是一个工厂类,其构造器是受保护的,不允许 直接使用new MessageDigist( )来创建对象,而必须通过其静态方法getInstance( )生成MessageDigest对象。 其中传入的参数指定计算消息摘要所使用的算法,常用的有"MD5","SHA"等。若对MD5算法的细节感兴趣可参考 http://www.gztarena.com/rfc1321.txt。 [b](2)传入需要计算的字符串[/b] m.update(x.getBytes("UTF8" )); 分析:x为需要计算的字符串,update传入的参数是字节类型或字节类型数组,对于字符串,需要先使用 getBytes( )方法生成字符串数组。 [b](3)计算消息摘要[/b] byte s[ ]=m.digest( ); 分析:执行MessageDigest对象的digest( 广州达内java)方法完成计算,计算的结果通过字节类型的数组返回。 [b](4)处理计算结果[/b] 必要的话可以使用如下代码将计算结果s转换为字符串。
[u]复制代码[/u] 代码如下:
String result=""; for (int i=0; i result+=Integer.toHexString((0x000000ff & s) | 0xffffff00)。substring(6); }
[b]★代码与分析[/b]: 完整程序如下:
[u]复制代码[/u] 代码如下:
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); } }
[b]★运行程序[/b] 输入java DigestCalc abc来运行程序,其中命令行参数abc是原始数据,屏幕输出计算后的消息摘要: 900150983cd24fb0d6963f7d28e17f72。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部