工具类总结---(三)---MD5加密
用于给文件名等进行MD5加密:
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5 */ public class MD5Util { public static char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; public static String md5(String s) { try { MessageDigest messagedigest = MessageDigest.getInstance("MD5"); messagedigest.update(s.getBytes()); byte[] digestByte = messagedigest.digest(); return bufferToHex(digestByte, 0, digestByte.length); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; } } private static String bufferToHex(byte bytes[], int m, int n) { StringBuffer stringbuffer = new StringBuffer(2 * n); int k = m + n; for ( int l = m; l < k; l++) { appendHexPair(bytes[l], stringbuffer); } return stringbuffer.toString(); } private static void appendHexPair(byte bt, StringBuffer stringbuffer) { char c0 = hexDigits[(bt & 0xf0 ) >> 4 ]; char c1 = hexDigits[bt & 0xf ]; stringbuffer.append(c0); stringbuffer.append(c1); } }
大道至简,逻辑起点,记忆关联,直观抽象。。。