加密算法

加密算法

摘要算法:
MD5 128位摘要 速度快 数据无论有多大,过程都不可逆转
SHA1 160位摘要 强度高 都是以固定长度展示

主要用途:验证信息完整性、安全访问认证、数据签名
通过字典的方法进行破解。

对称加密算法:
AES 128位、192位、256位 加密速度更快,安全性更高
DES 56位、 112位、168位
特点:加密和解密选择相同的秘钥。

非对称加密 RSA
特点:非对称加密和解密使用不同的秘钥,分为公钥和秘钥。

实例利用摘要算法进行加密

注入依赖:

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
<scope>provided</scope>
</dependency>
复制代码

实例代码:


public static String sha256Hex(String value) {
return DigestUtils.sha256Hex(value);
}

public static String sha512Hex(String value) {
return DigestUtils.sha512Hex(value);
}

//根据业务需要进行组合 (字典)
public static String md5Hex3(String value) {
for (int i = 0; i < 3; i++) {
value = DigestUtils.md5Hex(value);
}
return value;
}

}
复制代码

举个栗子:

  • 在进行密码验证的时候,利用字典对输入字符串进行加密后与数据库存储已经进行相同加密的密码进行对比,这样可以保证密码在后台数据库不会被泄露。

在这里插入图片描述