密码两次MD5加密加盐 Java自写MD5加密工具类

自写MD5密码加密工具类
获取用户输入的密码后
定义第一次加密salt
和密码进行拼装后进行第一次MD5加密
然后将第一次加密后的值,和随机生成的saltDB进行第二次加密
**注:**第二次加密所需要的saltDB也可写为固定的值,
若saltDB为随机生成,应与用户信息一起存到数据库中,以免丢失。

MD5两次加密
首先先导入依赖

 <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.6</version>
    </dependency>

现在开始写一个MD5的工具类

package com.xcl.util;

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

/**
 * MD5Util
 *密码md5加密
 * @author 徐长乐
 * @date 2019/8/5
 */
public class MD5Util {
    //使用依赖工具类中MD5方法  
    public static  String md5(String str){
        return DigestUtils.md5Hex(str);
    }
    //定义第一次加盐   
      private  static  final String salt="1a2b3c4d";
 // 将盐值 和表单中输入密码实现拼装后 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);
    }
    //第二次加密并返回        salt可为生成的随机数
    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 input ,String saltDB){
        String formPass=inputPassFormPass(input);
        String dbPass=formpassToDBPass(formPass,saltDB);
        return dbPass;
    }
//test
    public static void main(String[] args) {
        System.out.println(inputPassToDBPass("123456","1a2b3c4d"));
    }
}

当获取密码后 ,可直接调用工具类中的 inputPassToDBPass(String input ,String saltDB)方法 input为用户输入的密码,saltDB为盐值,推荐使用随机生成的盐值,并存到数据库中与用户一一对应,使一个用户对应一个盐值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值