单向哈希函数 JAVA版本

这里只给出MD5的代码,其他SHA等请查看发布的电子书


package base_crypt;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class base_md5 {
	
	public static byte[] md5_hash(byte[] s_buf){
		MessageDigest md5;
		try {
			md5 = MessageDigest.getInstance("MD5");
			md5.update(s_buf);
			return md5.digest();
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		return null;
	}
	
	public static String md5_hash_hex_str(byte[] s_buf){
		byte[] d_buf = md5_hash(s_buf);
		return byte_2_hex_str(d_buf);
	}
	
	public static String md5_hash_hex_str(String s_buf){
		byte[] buf = s_buf.getBytes();
		byte[] d_buf = md5_hash(buf);
		return byte_2_hex_str(d_buf);
	}
	
	private static String byte_2_hex_str(byte[] buf){
		String result = "";
		String tmp = "";
		int len = buf.length;
		for(int i =0;i<len;i++){
			tmp = Integer.toHexString(buf[i]& 0XFF);
			if(tmp.length() == 1){
				tmp = "0"+tmp;
			}
			result += tmp;
		}
		return result;
	}
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值