import org.jasypt.digest.StandardStringDigester;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.util.password.BasicPasswordEncryptor;
import org.jasypt.util.password.StrongPasswordEncryptor;
public class PasswordEncrypt {
private BasicPasswordEncryptor basicPasswordEncryptor = null;
private StrongPasswordEncryptor strongPasswordEncryptor = null;
private StandardPBEStringEncryptor standardPBEStringEncryptor = null;
private StandardStringDigester standardStringDigester = null;
public PasswordEncrypt() {
basicPasswordEncryptor = new BasicPasswordEncryptor();
}
public PasswordEncrypt(String strategy) {
if ("basic".equals(strategy)) {
basicPasswordEncryptor = new BasicPasswordEncryptor();
}
else if ("strong".equals(strategy)) {
strongPasswordEncryptor = new StrongPasswordEncryptor();
}
else if ("pbe".equals(strategy)) {
standardPBEStringEncryptor = new StandardPBEStringEncryptor();
}
else if ("digester".equals(strategy)) {
standardStringDigester = new StandardStringDigester();
standardStringDigester.setAlgorithm("SHA-1");
standardStringDigester.setIterations(50000);
}
}
public String basicEncryptPassword(String userPassword) {
return basicPasswordEncryptor.encryptPassword(userPassword);
}
public String strongEncryptPassword(String userPassword) {
return strongPasswordEncryptor.encryptPassword(userPassword);
}
public String pbeEncryptPassword(String userPassword) {
return standardPBEStringEncryptor.encrypt(userPassword);
}
public String digesterEncryptPassword(String userPassword) {
return standardStringDigester.digest(userPassword);
}
public boolean checkBasicEncryptPassword(String inputPassword, String encryptPassword) {
boolean result = false;
if (basicPasswordEncryptor.checkPassword(inputPassword, encryptPassword)) {
result = true;
}
return result;
}
public boolean checkStrongEncryptPassword(String inputPassword, String encryptPassword) {
boolean result = false;
if (strongPasswordEncryptor.checkPassword(inputPassword, encryptPassword)) {
result = true;
}
return result;
}
public boolean checkPBEEncryptPassword(String inputPassword, String encryptPassword) {
boolean result = false;
if (pbeEncryptPassword(inputPassword).equals(encryptPassword)) {
result = true;
}
return result;
}
public boolean checkStandardStringDigester(String inputPassword, String encryptPassword) {
boolean result = false;
if (standardStringDigester.matches(inputPassword,encryptPassword)) {
result = true;
}
return result;
}
public static void main(String[] args) {
PasswordEncrypt PasswordEncrypt = new PasswordEncrypt("strong");
String encryptPassword = PasswordEncrypt.strongEncryptPassword("welcome1");
System.out.println(encryptPassword);
boolean result = PasswordEncrypt.checkStrongEncryptPassword("welco1me1", encryptPassword);
System.out.println(result);
}
}
分享到:
相关推荐
Java加密包 Jasypt
jasypt 加密工具,采用md5规则,可自定义秘钥,实用小工具。 直接java -jar进行启动即可
jasypt加密包 ,java加密解密都可以用这个包,很方便了
java源码:Java加密包 Jasypt.zip
Java加密包 Jasypt.7z
java 简单加密类库 jar jasypt-1.8-dist.zip
基于JDK11 和 Jasypt java类库开发的加解密工具安装包 * 内置jdk11,无JDK环境也可使用 * 支持基于Jasypt的加密 * 支持基于Jasypt的解密 * 支持PBEWITHHMACSHA512ANDAES_256和PBEWithMD5AndDES方式加解密
基于Java的加密包 Jasypt.zip
基于java的加密包 Jasypt.zip
Jasypt 这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成 hibernate,Spring Security(Acegi)来增强密码管理。 >Jasypt是一个Java库,可以使开发者不需...
Java 使用jasypt包辅助,实现密码加解密。本方法实现了C#版,适用于一方加密另一方解密的情况,根据默认配置改版,可在当前版本基础上自定义更改指定算法、hash迭代次数、salt生成方式等
Java加密包 Jasypt源码
基于java的开发源码-加密包 Jasypt.zip
基于Java的实例源码-加密包 Jasypt.zip
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
Jasypt 这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成 hibernate,Spring Security(Acegi)来增强密码管理。 Jasypt是一个Java库,可以使开发者不需...
简单好用的String加密工具。 为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成hibernate,Spring Security(Acegi)来增强密码管理。
SpringBoot(27) 整合jasypt加密yml配置文件
jasypt加密解密工具含源码有界面,加密密码springboot可以直接使用无需修改代码。
jasypt-spring-boot-1.14.jar jasypt-spring-boot-1.14-javadoc.jar jasypt-spring-boot-1.14-sources.jar jasypt-spring-boot-starter-1.14.jar jasypt-spring-boot-starter-1.14-javadoc.jar jasypt-spring-boot-...