package net.tooan.ynpay.commons.helper; import net.tooan.ynpay.third.jfinal.log.Logger; import org.apache.commons.lang.StringUtils; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Created with IntelliJ IDEA. * User: Jing * Date: 13-10-19 * Time: 上午10:45 */ public class Encrypt { private static Logger logger = Logger.getLogger(Encrypt.class); private final static String HASH_MD5 = "md5"; private final static String HASH_SHA1 = "sha-1"; private static Encrypt instance = new Encrypt(); public static String md5(String input) { return instance.encrypt(input, HASH_MD5); } public static String sha1(String input) { return instance.encrypt(input, HASH_SHA1); } private String encrypt(String input, String hashName) { String output = StringUtils.EMPTY; try { MessageDigest messageDigest = MessageDigest.getInstance(hashName); messageDigest.update(input.getBytes("UTF-8")); byte[] bytes = messageDigest.digest(); output = hex(bytes); } catch (NoSuchAlgorithmException e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } } catch (UnsupportedEncodingException e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } } return output; } private String hex(byte[] bytes) { StringBuilder stringBuilder = new StringBuilder(); for (byte aByte : bytes) { stringBuilder.append(Integer.toHexString((aByte & 0xFF) | 0x100).substring(1, 3)); } return stringBuilder.toString(); } }