md5算法代码
2015-07-22 14:06
260 查看
package com.bjhj.castest;
import java.security.MessageDigest;
public class myDigest {
public static void main(String[] args) {
myDigest my = new myDigest();
my.testDigest("我的测试信息");
}
public void testDigest(String myinfo) {
try {
MessageDigest alga = MessageDigest.getInstance("MD5");
alga.update(myinfo.getBytes());
byte[] digesta = alga.digest();
System.out.println("本信息摘要是:" + byte2hex(digesta));
// 通过某中方式传给其他人你的信息(myinfo)和摘要(digesta) 对方可以判断是否更改或传输正常
MessageDigest algb = MessageDigest.getInstance("MD5");
algb.update(myinfo.getBytes());
if (MessageDigest.isEqual(digesta, algb.digest())) {
System.out.println("信息检查正常");
} else {
System.out.println("摘要不相同");
}
} catch (java.security.NoSuchAlgorithmException ex) {
System.out.println("非法摘要算法");
}
}
public String byte2hex(byte[] b) // 二行制转字符串
{
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (Integer.toHexString(b
& 0XFF));
if (stmp.length() == 1)
hs = hs + "0" + stmp;
else
hs = hs + stmp;
if (n < b.length - 1)
hs = hs + ":";
}
return hs.toUpperCase();
}
}
package com.bjhj.castest;
import java.security.MessageDigest;
public class myDigest {
public static void main(String[] args) {
myDigest my = new myDigest();
my.testDigest("我的测试信息");
}
public void testDigest(String myinfo) {
try {
MessageDigest alga = MessageDigest.getInstance("MD5");
alga.update(myinfo.getBytes());
byte[] digesta = alga.digest();
System.out.println("本信息摘要是:" + byte2hex(digesta));
// 通过某中方式传给其他人你的信息(myinfo)和摘要(digesta) 对方可以判断是否更改或传输正常
MessageDigest algb = MessageDigest.getInstance("MD5");
algb.update(myinfo.getBytes());
if (MessageDigest.isEqual(digesta, algb.digest())) {
System.out.println("信息检查正常");
} else {
System.out.println("摘要不相同");
}
} catch (java.security.NoSuchAlgorithmException ex) {
System.out.println("非法摘要算法");
}
}
public String byte2hex(byte[] b) // 二行制转字符串
{
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (Integer.toHexString(b
& 0XFF));
if (stmp.length() == 1)
hs = hs + "0" + stmp;
else
hs = hs + stmp;
if (n < b.length - 1)
hs = hs + ":";
}
return hs.toUpperCase();
}
}
相关文章推荐
- 读Spring的源代码一:Spring bean的注册过程
- Poco for Windows 编译 x86 x64
- spring mvc 4.1.5+mybatis 3.2.6+ maven
- Java 的Excel 导出功能的实现
- Ruby Array
- VBA EXCEL 工作簿之间相互操作
- java List.subList()方法类似分页分批处理数据
- Java通过XML Schema校验XML
- Spring BeanFactory实例化Bean的过程
- 【Java】找出数组中的某个元素,数组原本有序,但已被旋转多次
- spring的beanFactory和factoryBean
- 【Head First Java 读书笔记】(二)类与对象
- JAVA的FTP工具类
- THINKPHP中几个缓存的问题
- C++宏的使用(一)
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo
- Win7下实现 lpk.dll劫持游戏注入
- mysql c语言接口。个人封装
- Struts2+spring+Mybatis 简单配置
- struts标签<logic:iterate>的用法