
1 .依赖
1 2 3 4 5 6 7 8 9 10 11 12 13
| <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.11</version> </dependency> ------------------------------------------------------------------------------------------
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| package com.imooc.miaosha.utils;
import org.apache.commons.codec.digest.DigestUtils;
public class MD5Util { /*固定盐值*/ private static final String salt = "1a2b3c4d";
//注意导包为codec中的DigestUtils类.codec.digest.DigestUtils; public static String md5(String src) { //计算MD5摘要并以32个字符十六进制字符串的形式返回值。 return DigestUtils.md5Hex(src); }
/** * 第一次md5 : * 用于 通过输入的密码生成 * 传输的密码 : 方法 通过固定盐值和明文密码之间的拼接在生成md5 */ public static String inputPassFormPass(String inputPass) { String str = "" + salt.charAt(0) + salt.charAt(2) + inputPass + salt.charAt(5) + salt.charAt(4); return md5(str); }
/** * 第二次md5 : */ public static String fromPassFormPass(String formpasss, String salt) { String str = "" + salt.charAt(0) + salt.charAt(2) + formpasss + salt.charAt(5) + salt.charAt(4); return md5(str); }
//将密码封装到数据库中 public static String inputPassToDbPass(String input, String saltDB) { String s = inputPassFormPass(input); String formPass = fromPassFormPass(s, saltDB); return formPass; }
public static void main(String args[]) { //System.out.println(s);//d3b1294a61a07da9b49b6e22b2cbd7f9 //System.out.println(inputPassToDbPass("123456", "1a2b3c4d")); } }
|
调用
Author:
John Doe
Permalink:
http://yoursite.com/2019/01/31/技术栈/MD5明文加密/两次MD5明文加密/
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?