MD5摘要算法

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

public class MD5Utils {
	/**
	 * MD5加密
	 * @param password
	 * @return
	 */
	public static String disgest(String password) {
		// 创建一个md5的加密算法
		MessageDigest digest;
		try {
			digest = MessageDigest.getInstance("MD5");

			// 把一个字节数组经过一系列的复杂算法 加密成一个新的byte数组
			byte[] bs = digest.digest(password.getBytes());
			StringBuilder sb = new StringBuilder();
			for (byte b : bs) {
				int i = b & 0xff;// 把复数转成正数
				String hexString = Integer.toHexString(i);// 把10进制数转成16进制
				if (hexString.length() < 2) {
					sb.append("0");
				}
				sb.append(hexString);
			}
			String str = sb.toString();
			return str;
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
			// can't reach
			return "";
		}
	}
}
MD5不是严格的加密算法,因为只能加密无法解密。真正的加密算法有Dex,sha1等等。文件秒传实现就是判断文件的sha1值是否一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值