Android、Java中16位及32位MD5加密算法工具类,直接使用!!!

在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经MD5加密后,传输至服务器保存起来。虽然MD5加密经常用,但是MD5的加密原理真说不上来,对MD5的认知目前仅仅停留在会使用的水平,想搞清楚还是要花点时间的,求大神赐教。


将字符串进行MD5加密,返回加密后的字符串

package com.xinchi.jmyy.utils;

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

/**
 * MD5加密算法工具类
 * 
 * @author Caoyx
 * 
 */
public class MD5Utils {

	/**
	 * 32位MD5加密方法 
	 * 16位小写加密只需getMd5Value("xxx").substring(8, 24);即可
	 * 
	 * @param sSecret
	 * @return
	 */
	public static String getMd5Value(String sSecret) {
		try {
			MessageDigest bmd5 = MessageDigest.getInstance("MD5");
			bmd5.update(sSecret.getBytes());
			int i;
			StringBuffer buf = new StringBuffer();
			byte[] b = bmd5.digest();// 加密
			for (int offset = 0; offset < b.length; offset++) {
				i = b[offset];
				if (i < 0)
					i += 256;
				if (i < 16)
					buf.append("0");
				buf.append(Integer.toHexString(i));
			}
			return buf.toString();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return "";
	}
}



在线测试MD5:

http://www.cmd5.com/ 

http://md5jiami.51240.com/

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页