文档章节

MD5压缩算法

小小明童鞋
 小小明童鞋
发布于 2017/04/05 23:52
字数 287
阅读 103
收藏 0
package cn.com.test;
/* 传入参数: 一个字节数组
 * 传出参数: 字节数组的MD5结果字符集
 */
public class MD5 {

	public static String getMD5 (byte[] source){
		String s = null;
		//用来将字节转换成十六进制表示的字符
		char hexDigits[] = {'0' ,'1', '2', '3', '4' ,'5' ,'6', '7','8','9','a','b','c','d','e','f'};
		
		try {
			java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
			md.update(source);
			//MD5 的计算结果是一个128位的长整数,用字节表示就是16个字节
			byte tmp[] = md.digest();
			//每个字节用十六进制表示的话,使用两个字符,所以表示成十六进制需要32个字符
			char str[] = new char[16*2];
			//表示转换结果中对应的字符位置
			int k = 0;
			for (int i= 0;i< 16;i++){
				//从第一个字节开始,将MD5的每一个字节转换成十六进制字符
				//取第i个字节
				byte byte0 = tmp[i];
				// 取字节中高4位的数字转换,>>> 为逻辑右移,将符号位一起右移
				str[k++] = hexDigits[byte0 >>> 4 & 0xf];
				//去字节中低4位的数字转换
				str[k++] = hexDigits[byte0 & 0xf];				
			}
			s = new String(str);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return s;
	}
	public static void main(String[] args) {
		byte byarr[] = {'1','2','3','!','@','#'};
		System.out.println(MD5.getMD5(byarr));
	}
}

 

© 著作权归作者所有

共有 人打赏支持
小小明童鞋
粉丝 29
博文 84
码字总数 74698
作品 0
南京
程序员
私信 提问
linux 备份、压缩、加密

tar -cvf - /home tar -xvf - 说明:把/home 拷贝到当前目录下,管道前半句把/home打包放到标准输出流中,后半句是把输入流-里的内容解包到当前目录。 tar是Linux常见的一种归档文件(原生不...

SibylY
2015/12/09
104
0
MD5值重复文件多进程检查工具check_md5.py - 性能测试工具开发

MD5简介 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laborator...

网络安全人工智能python
08/18
0
0
[雪峰磁针石博客]MD5值重复文件多进程检查工具check_md5.py - 性能测试工具开发

MD5简介 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laborator...

磁针石
08/18
0
0
Java基础之4大基本加密算法解析

BASE64 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Jav...

白志华
2015/09/19
51
0
Hash MD5 CRC 知识

using System.IO;using System.Text; /// /// 提供用于计算指定文件哈希值的方法/// 例如计算文件的MD5值:/// /// String hashMd5=HashHelper.GetMD5("MyFile.txt");/// /// /// 例如计算文件......

史迪奇abc
2017/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

程序中设置MySQL的默认值

import com.alibaba.fastjson.JSON;import java.beans.PropertyDescriptor;import java.lang.annotation.*;import java.lang.reflect.Field;import java.lang.reflect.Method;impo......

laolin23
12分钟前
0
0
WordPress没有上级目录的写权限

sudo chmod -R 777 wordpress/wp-content

临江仙卜算子
19分钟前
0
0
大数据学习之大数据技术笔记—spring入门

篇一 spring介绍 spring.io 官网 快速开始 Aop 面向切面编程,可以任何位置,并且可以细致到方法上 连接框架与框架 Spring 就是 IOC AOP 思想 有效的组织中间层对象一般都是切入 service 层 ...

董黎明
20分钟前
4
0
ASP.NET Core MVC 静态文件配置

在启动文件中添加以下配置 public class Startup{ public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddDirectoryBrowser(); ......

whltian
48分钟前
1
0
linux之自定义命令

本人使用的是ubuntu系统,不喜欢建各种桌面快捷链接,但是每次启动个软件,去查找又麻烦,所以自定义了命令,来快捷的启动应用: 1、修改/etc/bash.bashrc,在文件末尾,加上如下List-1中的内...

克虏伯
56分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部