首页 > 编程语言 >使用Jaspyt对配置文件密码保护

使用Jaspyt对配置文件密码保护

时间:2024-08-22 18:16:38浏览次数:11  
标签:String 配置文件 jasypt 密码保护 解密 Jaspyt encryptor password salt

1、 添加依赖

        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>

2、生成明文的密文串

    @Test
    public void encrypt() {
        String password = "123456abc"; // 原明文密码(待加密)
        String salt = "salt"; // 用于要加密的口令(保护好)
        String[] arg = {"input=" + password, "password=" + salt, "algorithm=PBEWithMD5AndDES", "ivGeneratorClassName=org.jasypt.iv.NoIvGenerator"};
        JasyptPBEStringEncryptionCLI.main(arg);
    }

OUTPUT:

MnGfUY6+XB84m7YxEeq5JHLJFyI1iCQd

里的串即为密文,每次加密出来的结果都不一样,但解密后一样。

3、配置文件修改

将原密码替换成:ENC(密文串) 这种格式

spring:
  datasource:
    username: root
    password: ENC(MnGfUY6+XB84m7YxEeq5JHLJFyI1iCQd)

jasypt:
  encryptor:
    password: salt

注:jasypt.encryptor.password可以不配在yml里,通过spring boot 启动参数,salt为自定义口令,需要保护好。

java -jar your-app.jar --jasypt.encryptor.password=salt

或配置一个叫jasypt.encryptor.password的环境变量,启动时会自动读取

4、解密

知道密文串、口令、加密算法,是可以解密的,所以要保护好这三个值,解密:

    @Test
    public void decrypt() {
        String cypherString = "MnGfUY6+XB84m7YxEeq5JHLJFyI1iCQd"; // 原明文密码(待加密)
        String salt = "salt"; // 用于要解密的口令(保护好)
        String[] arg = {"input=" + cypherString, "password=" + salt, "algorithm=PBEWithMD5AndDES", "ivGeneratorClassName=org.jasypt.iv.NoIvGenerator"};
        JasyptPBEStringDecryptionCLI.main(arg);
    }

输出:
123456abc

标签:String,配置文件,jasypt,密码保护,解密,Jaspyt,encryptor,password,salt
From: https://www.cnblogs.com/jiayuan2006/p/18374473

相关文章

  • springboot maven项目多环境profile配置,打包后配置文件properties或yml中的${}或@@变
    maven一些配置如下:项目中配置了多环境<profiles><!--数据库类型--><profile><!--mysql版默认--><id>mysql</id><activation><activeByDefault>true</activ......
  • python configparser操作配置文件
    一、configparser概述configparser是Pyhton标准库中用来解析配置文件的模块;Python2.x中名为ConfigParser,3.x已改名为configParser二、配置文件的格式常见的配置文件后缀:.ini,.conf等,主要结构为包括以下的文本信息:sections(段)keys(properties\键)values(值)格式如下......
  • Python处理生信分析流程配置文件4种方法
    在编写生信分析流程时,通常会通过配置文件来定义一些固定的参数,比如软件路径、参考基因组fasta文件路径、基线路径和阈值参数等。1.ini配置文件文件名称:cconfig.iniINI(Initialization)文件是一种简单的配置文件格式,通常由节(section)、键(key)和值(value)组成,是较为常用的配置......
  • 前端如何处理xml配置文件?
    OpenSNN开思通智网,官网地址:https://w3.opensnn.com/2024年8月份“O站创作者招募计划”快来O站写文章,千元大奖等你来拿!“一起来O站,玩转AGI!”在前端处理XML配置文件时,可以使用JavaScript的内置功能来解析、操作和修改XML数据。处理XML的几个关键步骤1.加载XML文件......
  • vCenter通过修改主机配置文件来重置ESXi主机root密码
    背景:管理员一般通过vCenter来管理ESXi主机,时间长了,ESXi主机的root密码忘记了,本文主要介绍在vCenter中通过修改主机配置文件来修改ESXI主机的root密码,不用重启ESXI主机。1、提取主机配置文件选中要操作的主机,右键选择“主机配置文件”>>点击“提取主机配置文件”。为方便标识,更改......
  • 大白话讲【1.1】redhat 9采用nmtui快速配置Ipv4(网卡已有配置文件前提下)
    0.环境查看:[root@lili~]#uname-aLinuxlili5.14.0-70.13.1.el9_0.x86_64#1SMPPREEMPTThuApr1412:42:38EDT2022x86_64x86_64x86_64GNU/Linux[root@lili~]#ifconfig|head-2ens160:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu1500     ......
  • ssh配置文件安全设置
    1.在/etc/ssh/sshd_config中设置空闲超时值为200秒2.在/etc/ssh/sshd_config中禁用空密码3.在SSH配置文件(/etc/ssh/sshd_config)中禁用X11(图形服务器)转发功能,Shell访问不需要4.将MaxAuthenticationTries调整为/etc/ssh/sshd_config中的较低值,因此攻击者在尝试使用失败的密......
  • CADMATIC许可证配置文件
    在数字化时代,CADMATIC软件已成为工程设计和制造业领域的核心工具。为了充分发挥CADMATIC软件的性能并确保合规性,合理的许可证配置文件设置至关重要。本文将为您揭示CADMATIC许可证配置文件的奥秘,帮助您优化软件性能并确保合规性,提升企业的竞争力。一、CADMATIC许可证配置文件的重......
  • 易优CMS插件config.php配置文件
    插件config.php配置文件配置如下:returnarray('code'=>'Demo',//插件标识'name'=>'示例',//插件名称'version'=>'v1.0.0',//当前插件版本'min_version'=>'v1.1.6',//最低系统版本支持......
  • NGINX 封禁 IP(IP 段)访问方法:修改配置文件或 .htaccess 文件
    方法一:修改Nginx配置文件nginx.confNginx配置访问IP可以修改 nginx.conf 文件,只需要在 server 中添加 allow 和 deny 的IP即可,如下:server{listen80;server_namelocalhost;allowall;deny123.123.123.123;error_page500......