密码交互基本过程
明文存储密码
单向无盐哈希存储
预计算哈希链集合和彩虹表原理
哈希+盐存储
专业密码加密算法
密码交互过程
密码一般是用在用户登陆认证环节的,完整的过程包括:用户输入密码、客户端加密、网络传输、服务端验证等。
哈希+盐组合加密存储
一直在说无盐单向哈希存储,但什么是盐呢?
简单来说,盐就是在用户输入密码的基础上增加的额外部分数据,这部分数据也参与计算哈希存储密码。
专业的密码加密算法
apache commons codec
处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等.
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
package util;
import org.apache.commons.codec.binary.Base64;
import org.springframework.util.Base64Utils;
/**
* BASE64加密解密
*/
public class Base64Test {
public static void main(String[] args){
String str="Hello World";
// spring core 工具类
byte[] base64=Base64Utils.encode(str.getBytes());
// commons-codec工具类
byte[] bytes=Base64.encodeBase64(str.getBytes());
String encodeString=new String(bytes);
System.out.println("BASE64加密后===>" + encodeString);
String decodeString=new String(Base64.decodeBase64(bytes));
System.out.println("BASE64解密后===>" + decodeString);
}
}
版权声明:本文为qq_43183527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。