虽然前面整理了相对MD5更安全的SHA散列算法,但有时MD5还是有他的需求的,所以也整理备份下。
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Utils { /** * md5加密方法 * @param password * @return */ public static String md5Password(String password) { try { // 得到一个信息摘要器 MessageDigest digest = MessageDigest.getInstance("md5"); byte[] result = digest.digest(password.getBytes()); StringBuffer buffer = new StringBuffer(); // 把没一个byte 做一个与运算 0xff; for (byte b : result) { // 与运算 int number = b & 0xff;// 加盐 String str = Integer.toHexString(number); // System.out.println(str); if (str.length() == 1) { buffer.append("0"); } buffer.append(str); } // 标准的md5加密后的结果 return buffer.toString(); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); return ""; } } }
原文地址:http://blog.csdn.net/zeb_perfect/article/details/44724245