MD5加密方式(一)
实质:
拿到一个MessageDigest对象,再用被加密对象对其进行更新,再用digest方法进行填充之类的最终操作完成哈希计算
最后再把该对象变成一个字节数组再变成16进制的字符串即可
package com.lzj.www.md5.test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.junit.Test; public class MD5_1 { public String getMD5(String object){ String result = null; try { MessageDigest digest = MessageDigest.getInstance("MD5"); //更新digest
digest.update(object.getBytes()); byte[] ss = digest.digest(); //把目标字节数组变成16进制的字符串
result = byteToString(ss); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return result; } private String byteToString(byte[] ss){ StringBuffer result = new StringBuffer(); for(int i = 0; i < ss.length; i++){ int temp; temp = ss[i] < 0 ? ss[i] + 256 : ss[i]; if(temp < 16)result.append("0"); result.append(Integer.toHexString(temp)); } return result.toString(); } @Test public void test(){ System.out.println(getMD5("hello")); } }