jasypt加密和解密

添加依赖:

        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>3.0.4</version>
        </dependency>
加密
java -cp C:/Users/Administrator/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=qwer*1234* algorithm=PBEWithMD5AndDES
加密
java -cp D:\AZ\maven\apache-maven-3.8.2\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="sanyjbz888" password=qwersalt algorithm=PBEWithMD5AndDES
解密
java -cp D:\AZ\maven\apache-maven-3.8.2\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="x00NrCIFkDDPOtRPnl8b1eUmJ4nWoxuj" password=qwersalt algorithm=PBEWithMD5AndDES

加密于解密:

package deyi.com.revise.passwordLearning;

import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;

/**
 * @Author liudy23
 * @create 2022/1/14 15:25
 */
public class jsyptPassword {

    private static final String PBEWITHMD5ANDDES = "PBEWithMD5AndDES";
    private static final String PBEWITHHMACSHA512ANDAES_256 = "PBEWITHHMACSHA512ANDAES_256";

    public static SimpleStringPBEConfig encryJsypt(String password){
        //加解密配置
        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
        config.setPassword(password);
        config.setAlgorithm(PBEWITHMD5ANDDES);
        config.setKeyObtentionIterations("1000");
        config.setPoolSize("1");
        config.setProviderName("SunJCE");
        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
        config.setStringOutputType("base64");
        return config;
    }

    public static String encryptPassword(String password, String value){
        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        SimpleStringPBEConfig config = encryJsypt(password);
        encryptor.setConfig(config);
        String resutl_encrypt = encryptor.encrypt(value);
        return resutl_encrypt;
    }

    public static String  decryptPassword(String password, String value){
        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        SimpleStringPBEConfig config = encryJsypt(password);
        encryptor.setConfig(config);
        String result_decrypt = encryptor.decrypt(value);
        return result_decrypt;
    }

    public static void main(String[] args) {
        String s = encryptPassword("salt", "root");
        System.out.println("root加密后:" + s);

        String salt = decryptPassword("salt", "7FdtEKilfqNkZqss7+sElA==");
        System.out.println("root解密后:" + salt);
    }


}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容