zoukankan      html  css  js  c++  java
  • Java 两次MD5

    导入:

    import org.apache.commons.codec.digest.DigestUtils;
    

      代码:

    public static String md5(String src) {
    		return DigestUtils.md5Hex(src);
    	}
    	
    	private static final String salt = "1a2b3c4d";
    	
    	public static String inputPassToFormPass(String inputPass) {
    		String str = ""+salt.charAt(0)+salt.charAt(2) + inputPass +salt.charAt(5) + salt.charAt(4);
    		System.out.println(str);
    		return md5(str);
    	}
    	
    	public static String formPassToDBPass(String formPass, String salt) {
    		String str = ""+salt.charAt(0)+salt.charAt(2) + formPass +salt.charAt(5) + salt.charAt(4);
    		return md5(str);
    	}
    	
    	public static String inputPassToDbPass(String inputPass, String saltDB) {
    		String formPass = inputPassToFormPass(inputPass);
    		String dbPass = formPassToDBPass(formPass, saltDB);
    		return dbPass;
    	}
    

      md5:帮助类

    import java.io.File;
    import java.io.FileInputStream;
    import java.nio.MappedByteBuffer;
    import java.nio.channels.FileChannel;
    import java.security.MessageDigest;
    
    /**
     * MD5加密工具类
     */
    public class MD5Util {
        private static final char DIGITS[] = { '0', '1', '2', '3', '4', '5', '6',
    	    '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
    
        /**
         * 获取文件的MD5码
         * 
         * @param absPath
         *            文件路径
         * @return 文件的MD5码
         */
        public final static String getFileMD5(String absPath) {
    	try {
    	    File file = new File(absPath);
    	    MessageDigest mdTemp = MessageDigest.getInstance("MD5");
    	    FileInputStream fis = new FileInputStream(file);
    	    FileChannel filechannel = fis.getChannel();
    	    MappedByteBuffer mbb = filechannel
    		    .map(FileChannel.MapMode.READ_ONLY, 0, file.length());
    	    mdTemp.update(mbb);
    	    byte[] md = mdTemp.digest();
    	    int j = md.length;
    	    char str[] = new char[j * 2];
    	    int k = 0;
    	    for (int i = 0; i < j; i++) {
    		byte byte0 = md[i];
    		str[k++] = DIGITS[byte0 >>> 4 & 0xf];
    		str[k++] = DIGITS[byte0 & 0xf];
    	    }
    	    fis.close();
    	    return new String(str);
    	} catch (Exception e) {
    	    return "";
    	}
        }
    
        /**
         * 获取指定字符串的MD5码
         * 
         * @param s
         *            字符串
         * @return 字符串的MD5码
         */
        public final static String getMD5(String s) {
    	char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
    		'a', 'b', 'c', 'd', 'e', 'f' };
    	try {
    	    byte[] strTemp = s.getBytes();
    	    MessageDigest mdTemp = MessageDigest.getInstance("MD5");
    	    mdTemp.update(strTemp);
    	    byte[] md = mdTemp.digest();
    	    int j = md.length;
    	    char str[] = new char[j * 2];
    	    int k = 0;
    	    for (int i = 0; i < j; i++) {
    		byte byte0 = md[i];
    		str[k++] = hexDigits[byte0 >>> 4 & 0xf];
    		str[k++] = hexDigits[byte0 & 0xf];
    	    }
    	    return new String(str);
    	} catch (Exception e) {
    	    return null;
    	}
        }
        
        public static void main(String[] args) {
    	System.out.println(getMD5("admin"));
        }
    }
    

      

  • 相关阅读:
    nginx实战
    apache定制错误页面
    openstack虚拟机获取不到ip
    ansible-galera集群部署(13)
    kubernetes监控(12)
    kubernets部署sock-shop微服务电商平台(11)
    用ConfigMap管理配置(10)
    k8s管理机密信息(9)
    shell编程(2)
    shell练习题集合
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/10761777.html
Copyright © 2011-2022 走看看