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,全称为“Java Simplified Encryption”,是一个强大的、易用的Java库,专门用于在应用程序中进行加密操作。它提供了一种简单且直观的方式来集成强大的加密功能,使得开发人员无需深入理解复杂的...
jasypt 加密工具,采用md5规则,可自定义秘钥,实用小工具。 直接java -jar进行启动即可
Jasypt是一个轻量级的Java加密库,支持多种加密算法,如PBE(Password-Based Encryption)和AES(Advanced Encryption Standard)。它提供了简单的API,使得开发者可以快速集成到项目中,进行文本、配置文件甚至...
jasypt加密包 ,java加密解密都可以用这个包,很方便了
JAVA源码Java加密包JasyptJAVA源码Java加密包Jasypt
Java加密包Jasypt(Java Simplified Encryption)是一款强大的、易于使用的Java库,它提供了对应用程序中的文本、属性文件、对象等进行加密的能力。Jasypt的出现旨在简化加密过程,使得开发人员无需深入理解复杂的...
java资源Java加密包 Jasyptjava资源Java加密包 Jasypt提取方式是百度网盘分享地址
基于JDK11 和 Jasypt java类库开发的加解密工具安装包 * 内置jdk11,无JDK环境也可使用 * 支持基于Jasypt的加密 * 支持基于Jasypt的解密 * 支持PBEWITHHMACSHA512ANDAES_256和PBEWithMD5AndDES方式加解密
jasypt是一个强大的Java加密库,它为开发者提供了简单的API,可以轻松地在应用程序中集成加密功能。在Spring Boot中,我们可以利用jasypt来加密配置文件(如application.properties或application.yml)中的敏感数据...
SpringBoot 集成 Jasypt 对数据库加密以及踩坑 SpringBoot 集成 Jasypt 对数据库加密是一个非常重要的安全机制,通过对数据库密码的加密,可以保护数据库的安全,防止未经授权的访问。在本文中,我们将介绍如何在 ...
Jasypt(Java Simple and Strong Encryption)是一个简单且强大的Java加密库,它提供了方便的方式来对应用程序的字符串进行加密。在这个"jasypt加密_spring整合.zip"压缩包中,我们将会探讨如何将Jasypt与Spring框架...
Java加密包Jasypt是一个强大的工具,用于在Java应用程序中集成加密功能。它提供了一种简单易用的方式来加密和解密数据,使得开发者无需深入理解复杂的加密算法就能增强应用程序的安全性。Jasypt的主要目标是简化加密...
Java加密包Jasypt(Java Simplified Encryption)是一款强大的、易于使用的Java库,它为开发者提供了在应用程序中集成加密功能的能力。Jasypt的核心目标是让加密操作尽可能地简单,以便开发者无需深入理解复杂的加密...
《深入解析Jasypt:Java加密库的利器》 在Java开发中,数据安全和隐私保护是不可或缺的重要环节。为了确保敏感信息不被非法获取,开发者通常需要对数据进行加密处理。在这里,我们要探讨的正是一个强大的Java加密库...
Java简单加密包(jasypt-1.8-dist.zip)是一个专门为Java开发者设计的轻量级加密库,它提供了一套简洁、易用的API,使得加密和解密操作变得非常方便。JASYPT(Java Simplified Encryption Toolkit)是这个库的全称,...
Jasypt 这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成 hibernate,Spring Security(Acegi)来增强密码管理。 >Jasypt是一个Java库,可以使开发者不需...
Java加密包Jasypt是一个强大的工具,用于在Java应用程序中集成强大的加密功能。它提供了一种简单、直观的方式来加密和解密数据,使得开发者无需深入理解加密算法的复杂性即可在代码中安全地处理敏感信息。 Jasypt的...
Java开发案例-springboot-14-整合jasypt加密yml配置文件-源代码+文档.rar Java开发案例-springboot-14-整合jasypt加密yml配置文件-源代码+文档.rar Java开发案例-springboot-14-整合jasypt加密yml配置文件-源代码+...
这个“基于java的开发源码-加密包 Jasypt.zip”包含了Jasypt项目的源代码,版本为1.9.0。 Jasypt的核心功能在于为Java应用程序提供数据加密服务。它的设计目标是让用户能够轻松地在现有项目中集成加密功能,而无需...
Java 使用jasypt包辅助,实现密码加解密。本方法实现了C#版,适用于一方加密另一方解密的情况,根据默认配置改版,可在当前版本基础上自定义更改指定算法、hash迭代次数、salt生成方式等