MD5 两次加密
1、添加依赖
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
2.加密算法实现
package com.everjiankang.miaosha.util; import org.apache.commons.codec.digest.DigestUtils; /**
* 2次MD5加密
* @author guchunchao
*
*/
public class MD5Util { private static final String PUBLIC_SALT = "1a2b3c4d5e"; /** step1 将input框输入的明文密码根据公有盐转化为MD5加密密码*/
public static String inputPassToFormPass(String password) {
String saltPass = PUBLIC_SALT.charAt(0) + PUBLIC_SALT.charAt(2) + password + PUBLIC_SALT.charAt(5) + PUBLIC_SALT.charAt(4);
return DigestUtils.md5Hex(saltPass);
} /** step2 将根据公有盐转化的MD5加密密码 再根据私有盐进行第二次加密,同时应该在DB中存储私有盐*/
public static String formPassToDBPass(String formPass,String privateSalt) {
String saltPass = privateSalt.charAt(0) + privateSalt.charAt(2) + formPass + privateSalt.charAt(5) + privateSalt.charAt(4);
return DigestUtils.md5Hex(saltPass);
}
/** 将step1 和 step2 结合起来进行封装*/
public static String inputPassToDBPass(String inputPass,String privateSalt) {
return formPassToDBPass(inputPassToFormPass(inputPass),privateSalt);
} public static void main(String[] args) {
System.out.println(inputPassToFormPass("123456"));
System.out.println(formPassToDBPass("123456","xiaochaoaidami"));
System.out.println(inputPassToDBPass("123456","xiaochaoaidami"));
}
}
MD5 两次加密的更多相关文章
- md5两次加密
private static final String salt="hzjfstkfdff"; public static String MD5(String src) { ret ...
- C#:Md5和Sha1两种加密方式
1.新建控制台应用程序 2.新建类 EncryptHelper.cs public static class EncryptHelper { /// <summary> /// 基于Md5 ...
- python 中md5 和 sha1 加密, md5 + os.urandom 生成全局唯一ID
首先先来介绍一下md5 和 sha1 的概念 MD5 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法).128位长度.目前MD5是一种不可逆算法. 具有很高的安全性 ...
- BASE64,MD5,SHA,HMAC加密與解密算法(java)
package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.B ...
- C#、WinForm、ASP.NET - Md5散列加密
MD5值概念解释: 转载自:http://free0007.iteye.com/blog/2047163 所 谓MD5,即"Message-Digest Algorithm 5(信息-摘要 ...
- nodeJS之crypto模块md5和Hmac加密
nodeJS之crypto模块md5和Hmac加密 原文地址:https://www.cnblogs.com/tugenhua0707/p/9128690.html 在nodejs中,可以使用cryp ...
- Java 关于密码处理的工具类[MD5编码][AES加密/解密]
项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从 ...
- shiro密码的比对,密码的MD5加密,MD5盐值加密,多个Relme
有具体问题的可以参考之前的关于shiro的博文,关于shiro的博文均是一次工程的内容 密码的比对 通过AuthenticatingRealm的CredentialsMatcher方法 密码的加密 ...
- Java的单向加密算法MD5和SHA——加密和解密
出自:http://www.cnblogs.com/onetwo/p/3875551.html 1.JDK中MD5和SHA加密的主要类 在JDK6.0中,与MD5与SHA密切相关的几个类的类图如下: ...
随机推荐
- requests 进阶用法学习(文件上传、cookies设置、代理设置)
一.文件上传 1.模拟网站提交文件 提交此图片,图片名称:timg.jpg import requests files={ 'file':open('timg.jpg','rb') } respons ...
- python之面相对象程序设计
一 面向对象的程序设计的由来 面向对象设计的由来见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 面向对象的程序设计:路飞学院版 ...
- php 表单提交大量数据发生丢失的解决方法
最近在项目中,出现一个奇怪的现象,有一个大form里面有上千个input,提交的时候,老是发现post过来的数据不完整,一开始还怀疑是html 表单名称有冲突,排除掉了.然后,网上找了一堆,php.i ...
- Jenkins pipeline:pipeline 语法详解
jenkins pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...
- eclipse下将maven项目打包为jar(1.不带第三方jar,2.带第三方jar)
由于项目需要讲maven项目打包为jar包,由于之前没类似经验,百度找例子走了不少弯路,这边随手记录下,网上说的 开发工具:eclipse jar包管理:maven 一般打包出来的jar包分为两种 一 ...
- Codeforces Round #551 (Div. 2) EF Solution
E. Serval and Snake 对于一个矩形,如果蛇的一条边与它相交,就意味着这条蛇从矩形内穿到矩形外,或者从矩形外穿到矩形内.所以如果某个矩形的答案为偶数,意味着蛇的头尾在矩形的同一侧(内或 ...
- Django 之 admin管理工具
-------------------------------------------------------------------------妄尝恶果,苦果自来. admin组件使用 Django ...
- Python之find命令中的位置的算法
find("s",a,b) #s表示的是一个子序列,a表示的是检索的起始位置,b表示的是检索的终止位置,ab可有可无 test = "abcdefgh" ...
- Centos7 利用crontab定时执行任务及配置方法
crond是什么? crond 和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于 ...
- Mac之lnmp环境搭建
之前在Windows上开发大部分都是使用的集成环境(xampp,phpstudy,wamp),可以完成日常便捷开发,有些时候却Windows下无法实现的就需要自己搭建虚拟机,在虚拟机中搭建lnmp环境 ...