Java 两次MD5

网友投稿 236 2022-09-04

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:大数据分析能够给企业带来什么价值?(大数据的价值在于分析)
下一篇:Java 枚举和抽象类添加状态值
相关文章

 发表评论

暂时没有评论,来抢沙发吧~