• JAVA MD5加密


    package com.demo;
    
    import java.security.MessageDigest;
    
    public class MD5Util {
    
    	private static final String ALGORITHM = "MD5";
    
    	private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5',
    			'6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
    
    	/**
    	 * encode string
    	 *
    	 * @param algorithm
    	 * @param str
    	 * @return String
    	 */
    	public static String encode(String algorithm, String str) {
    		if (str == null) {
    			return null;
    		}
    		try {
    			MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
    			messageDigest.update(str.getBytes());
    			return getFormattedText(messageDigest.digest());
    		} catch (Exception e) {
    			throw new RuntimeException(e);
    		}
    
    	}
    
    	/**
    	 * encode By MD5
    	 *
    	 * @param str
    	 * @return String
    	 */
    	public static String getStringMD5String(String str) {
    		if (str == null) {
    			return null;
    		}
    		try {
    			MessageDigest messageDigest = MessageDigest.getInstance(ALGORITHM);
    			messageDigest.update(str.getBytes());
    			return getFormattedText(messageDigest.digest());
    		} catch (Exception e) {
    			throw new RuntimeException(e);
    		}
    
    	}
    
    	/**
    	 * Takes the raw bytes from the digest and formats them correct.
    	 *
    	 * @param bytes
    	 *            the raw bytes from the digest.
    	 * @return the formatted bytes.
    	 */
    	private static String getFormattedText(byte[] bytes) {
    		int len = bytes.length;
    		StringBuilder buf = new StringBuilder(len * 2);
    		// 把密文转换成十六进制的字符串形式
    		for (int j = 0; j < len; j++) { 			
    			buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);
    			buf.append(HEX_DIGITS[bytes[j] & 0x0f]);
    		}
    		return buf.toString();
    	}
    
    	public static void main(String[] args) {
    		System.out.println(MD5Util.getStringMD5String("123"));
    //		System.out.println("111111 MD5  :"
    //				+ EncoderHandler.encode("MD5", "111111"));
    //		System.out.println("111111 SHA1 :"
    //				+ EncoderHandler.encode("SHA1", "111111"));
    	}
    
    }
    
  • 相关阅读:
    Alwayson 与 mirror
    cmd运行sql server安装
    搭建阿里云lnmp环境 (centos7+nginx+MySQL5.7.16+PHP7)
    php-fpm.conf 配置文件(实际项目中使用)
    编译安装php7.0.0
    Linux 服务器环境安装参考文档
    MySQL5.7 my.cnf 优化配置参数
    CentOS 7中源码安装MySQL 5.7.16 (亲测成功)
    mysql启动报错:Starting MySQL... ERROR! The server quit without updating PID file
    centos7下源码安装mysql5.7.16
  • 原文地址:https://www.cnblogs.com/zhangfei/p/4517192.html
Copyright © 2020-2023  润新知