当前位置: 首页 > news >正文

湖南州省郴州做竞价的网站有利于优化吗

湖南州省郴州,做竞价的网站有利于优化吗,深圳包装设计招聘,做暧暖ox网站我们的配置文件中,其实包含着大量与安全相关的敏感信息,例如数据库的账号密码、一些服务的密钥等。而这些信息一旦泄露,对于企业的重要数据资产是相当危险的。 所以对于这些配置文件中存在的敏感信息进行加密,是每个成熟开发团队都…

我们的配置文件中,其实包含着大量与安全相关的敏感信息,例如数据库的账号密码、一些服务的密钥等。而这些信息一旦泄露,对于企业的重要数据资产是相当危险的。 所以对于这些配置文件中存在的敏感信息进行加密,是每个成熟开发团队都一定会去的事。

下面通过使用Jasypt来加密配置信息:https://github.com/ulisesbocchio/jasypt-spring-boot

Jasypt是一个Java库,可以方便地对Spring Boot应用中的敏感配置信息进行加密。

一.Springboot项目的配置信息加密: 

1. 添加依赖

首先在项目的pom.xml中添加Jasypt依赖:

<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version> <!-- 使用最新版本 -->
</dependency>

然后再插件中加入:

<plugin><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-maven-plugin</artifactId><version>3.0.3</version>
</plugin>

2. 生成加密值

使用Jasypt工具类生成加密后的值:

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;public class JasyptEncryptor {public static void main(String[] args) {StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();encryptor.setPassword("mySecretKey123!"); // 设置加密密钥encryptor.setAlgorithm("PBEWithMD5AndDES");// 加密用户名String encryptedUsername = encryptor.encrypt("admin");System.out.println("Encrypted username: ENC(" + encryptedUsername + ")");// 加密密码String encryptedPassword = encryptor.encrypt("secret123");System.out.println("Encrypted password: ENC(" + encryptedPassword + ")");}
}

假设输出:

Encrypted username: ENC(4B5A6C8D9E0F1G2H3I4J5K6L7M8N9O0P)
Encrypted password: ENC(1A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P)

3. 配置加密值

将加密后的值放入application.properties 。

application.propertiesapplication.yml中,使用ENC()包裹加密后的值:

# 未加密的普通配置
app.name=MyApp# 加密的数据库配置
db.url=jdbc:mysql://localhost:3306/mydb
db.username=ENC(4B5A6C8D9E0F1G2H3I4J5K6L7M8N9O0P)
db.password=ENC(1A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P)

Spring会自动解密这些值,可以像使用普通配置一样使用它们:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Component
public class DatabaseConfig {@Value("${db.url}")private String url;@Value("${db.username}")private String username;@Value("${db.password}")private String password;public void printConfig() {System.out.println("Database URL: " + url);System.out.println("Database Username: " + username); // 自动解密System.out.println("Database Password: " + password); // 自动解密}
}

4. 配置加密密钥

有几种方式配置加密密钥:

方式1:直接写在配置文件中

jasypt.encryptor.password=your-secret-key

方式2:通过环境变量

jasypt.encryptor.password=${JASYPT_ENCRYPTOR_PASSWORD:}

然后在启动时传入环境变量:

export JASYPT_ENCRYPTOR_PASSWORD=your-secret-key
java -jar your-app.jar

方式3:通过命令行参数(推荐)

java -jar your-app.jar --jasypt.encryptor.password=your-secret-key

二.SpringCloud项目分布式配置中心的加密解密:

Spring Cloud Config提供了对属性进行加密解密的功能,以保护配置文件中的信息安全。

{cipher} 前缀是Spring Cloud Config Server的加密标识,后面跟随的是 ​AES加密后的十六进制字符串(64位字符)

比如下面的例子:

spring.datasource.username=eleven
spring.datasource.password={cipher}dba6505baa81d78bd08799d8d4429de499bd4c2053c05f029e7cfbf143695f5b

但是我们需要进行以下操作:

配置加密密钥:
# application.properties
encrypt.key=my-secret-key-123  # 必须与加密时使用的密钥一致
server.port=8888
测试解密:
curl -X POST http://localhost:8888/decrypt \-d "dba6505baa81d78bd08799d8d4429de499bd4c2053c05f029e7cfbf143695f5b"

下面我们演示如何加密密码:

创建Config Server:
<!-- pom.xml 添加依赖 -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId>
</dependency>
启动Config Server:
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}
}
 启动Config Server后加密新密码:
curl -X POST http://localhost:8888/encrypt -d "你的新密码"
# 返回类似:dba6505baa81d78bd08799d8d4429de499bd4c2053c05f029e7cfbf143695f5b
将加密结果存入配置
spring.datasource.password={cipher}新生成的加密字符串
通过环境变量传入密钥:
# 启动Config Server时
export ENCRYPT_KEY=my-secret-key-123
java -jar config-server.jar
或在启动命令中指定:
java -jar config-server.jar \--encrypt.key=my-secret-key-123

http://www.dtcms.com/a/484575.html

相关文章:

  • 【MAVLink】XML协议生成C++接口
  • 重庆自助建网站企企业中国纪检监察
  • 毕业设计代做网站代码所有网上购物的网站
  • 电工应用技术网站资源建设有限责任公司成立条件
  • 什么网站做二维码比较好网络电商是做什么的
  • 阿里做网站怎么做长沙百度网站推广优化
  • 免费做公司手机网站网站子页怎么做 视频
  • 公司网站开发说明介绍建设银行网站会员用户名格式
  • 水果电商网站建设相关文献换空间网站备案吗
  • 网站项目开发流程图wordpress标签查看id
  • 百度站长平台验证网站google官网入口手机版
  • 怎么增加网站的反链wordpress 新浪图片
  • 网站功能表多语言建站系统
  • 网站域名空间租用合同app营销推广方案
  • 邯郸哪儿能做网站家具企业网站建设
  • 更合网站设计网站建设公式
  • 光明区建设局网站中国商标注册查询
  • 做价值投资有哪些网站注册有限公司需要什么条件多少钱
  • 域名备案的网站建设书网站建设有哪种方式
  • 西安做网站哪里好用rem做移动网站
  • 营销网站四大要素拍卖 网站 建设
  • wordpress 付费剧集网站wordpress系统是什么
  • Xshell效率实战:SSH管理秘籍大纲
  • 石家庄网站建设需要多少钱与铁路建设相关的网站
  • 云南澄江县建设局网站给浏览器加速的加速器
  • 35开始学网站开发创意产品设计网
  • 锦州网站建设渠道平面设计公司起名
  • 公司网站宣传聊天软件开发妙招
  • 成都网站维护公司个人网站页面
  • 西安专业网站建设公司网络服务合同法律规定