博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 两次MD5
阅读量:4958 次
发布时间:2019-06-12

本文共 2764 字,大约阅读时间需要 9 分钟。

导入:

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"));    }}

  

转载于:https://www.cnblogs.com/sunliyuan/p/10761777.html

你可能感兴趣的文章
jquery datatable 参数
查看>>
vuex中的dispatch和commit
查看>>
mybatis实战教程二:多对一关联查询(一对多)
查看>>
NodeMCU文档中文翻译 3 构建固件
查看>>
前端学习☞jquery
查看>>
10分钟搞懂树状数组
查看>>
关于C#的静态类和静态构造函数
查看>>
C#不同窗体间通信,数据传递
查看>>
Windows10下安装Oracle 11g 64位的详细步骤
查看>>
Android网络多线程断点续传下载
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
前端跨域之jsonp跨域
查看>>
自己用h5写的转盘。写贴上来吧。
查看>>
Python开发基础 day12 模块2
查看>>
Socket编程 (异步通讯,解决Tcp粘包) - Part3
查看>>
OSI七层协议
查看>>
Linux 空闲空间的格式化与加载
查看>>
Linux 终端 Bash 常用快捷键介绍及经验
查看>>
关于twitter的GIF变mp4的测试
查看>>
Android中通过typeface设置字体
查看>>