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密切相关的几个类的类图如下: ...
随机推荐
- Python基础之面对对象进阶
阅读目录 isinstance和issubclass 反射 setattr delattr getattr hasattr __str__和__repr__ __del__ item系列 __geti ...
- syso快捷键设置
syso快捷键
- JavaScript—面向对象开发详解和垃圾回收
面向对象的概述 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP). 面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是, ...
- 查看jar包的jdk版本
- linux性能监控命令(vmstat、sar、iostat、netstat)
1.常用系统命令Vmstat.sar.iostat.netstat.free.ps.top等 2.常用组合方式• 用vmstat.sar.iostat检测是否是CPU瓶颈• 用free.vmstat检 ...
- CodeForces Round #552 Div.3
A. Restoring Three Numbers 代码: #include <bits/stdc++.h> using namespace std; ]; int a, b, c; i ...
- React项目搭建与部署
React项目搭建与部署 一,介绍与需求 1.1,介绍 1.1.1,React简介 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React ...
- IdentityServer4【Topic】Consent
Conset这个概念在Identityserver4中是表示要当前用户对第三方应用对资源请求的一个确认,它会被做成一个页面. 术语映射: Consent page--确认页面,我喜欢叫做Consent ...
- js DOM操作 容易犯的错误
这样一段html片段 <select class="form-control" id="course_chapter" onchange="fi ...
- python控制台输出带颜色的文字方法
#格式: 设置颜色开始 :\033[显示方式;前景色;背景色m 注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个:另外由于表示三个参数不同含义的数值都是唯一的没有 ...