package org.fastcatsearch.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MessageDigestUtils { protected static final Logger logger = LoggerFactory.getLogger(MessageDigestUtils.class); public static String getMD5String(String str) { try { return getMessageDigestString(MessageDigest.getInstance("MD5"), str); } catch (NoSuchAlgorithmException e) { logger.error("", e); return null; } } public static String getSHA1String(String str) { try { return getMessageDigestString(MessageDigest.getInstance("SHA-1"), str); } catch (NoSuchAlgorithmException e) { logger.error("", e); return null; } } public static String getSHA256String(String str) { try { return getMessageDigestString(MessageDigest.getInstance("SHA-256"), str); } catch (NoSuchAlgorithmException e) { logger.error("", e); return null; } } public static String getMessageDigestString(MessageDigest md, String str) { return getMessageDigestString(md, str.getBytes()); } public static String getMessageDigestString(MessageDigest md, byte[] bytes) { md.update(bytes); byte byteData[] = md.digest(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { String hex = Integer.toHexString(byteData[i] & 0xff); if (hex.length() == 1) { sb.append('0'); } sb.append(hex); } return sb.toString(); } }