java加密枝术深入理解

潍礻

潍礻

2016-02-19 11:37

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的java加密枝术深入理解,手机电脑控们准备好了吗?一起看过来吧!
★ 编程思路
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.gztarena.com/rfc1321.txt。
(2)传入需要计算的字符串
m.update(x.getBytes("UTF8" ));
分析:x为需要计算的字符串,update传入的参数是字节类型或字节类型数组,对于字符串,需要先使用
getBytes( )方法生成字符串数组。
(3)计算消息摘要
byte s[ ]=m.digest( );
分析:执行MessageDigest对象的digest( 广州达内java)方法完成计算,计算的结果通过字节类型的数组返回。
(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。
展开更多 50%)
分享

猜你喜欢

java加密枝术深入理解

编程语言 网络编程
java加密枝术深入理解

java加密枝术

Java JAVA基础
java加密枝术

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java 递归深入理解

编程语言 网络编程
java 递归深入理解

基于Java protected的深入理解

编程语言 网络编程
基于Java protected的深入理解

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java容器类的深入理解

编程语言 网络编程
Java容器类的深入理解

深入理解 ViewState

Web开发
深入理解 ViewState

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

汉字转化为拼音(php版)

汉字转化为拼音(php版)

详解超实用低级格式化拯救硬盘方法

详解超实用低级格式化拯救硬盘方法
下拉加载更多内容 ↓