您将创建的每个应用程序都可能需要身份验证过程。该认证过程将至少包含检查用户的登录名和密码的过程。为了使系统可靠地使用密码,我们通常以加密形式存储密码。
将BasicPasswordEncryptor它实现了PasswordEncryptor接口,提供了一个BasicPasswordEncryptor.encryptPassword(String password)用于加密用户密码的方法。要检查用户密码是否正确,我们使用该BasicPasswordEncryptor.checkPassword(String plainText, String encryptedPassword)方法。
package org.nhooo.example.jasypt;
import org.jasypt.util.password.BasicPasswordEncryptor;
import org.jasypt.util.password.PasswordEncryptor;
public class PasswordEncryptorDemo {
public static void main(String[] args) {
// 创建BasicPasswordEncryptor的实例。
PasswordEncryptor encryptor = new BasicPasswordEncryptor();
// 用户密码的加密版本。
String encrypted = encryptor.encryptPassword("secret");
System.out.println("encrypted = " + encrypted);
// 将用户的纯文本密码与加密的密码进行比较以进行检查
// 如果它们匹配。
if (encryptor.checkPassword("secret", encrypted)) {
System.out.println("Welcome to Jasypt");
} else {
System.out.println("Invalid secret word, access denied!");
}
}
}