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

国内精美网站百度投诉中心24人工客服

国内精美网站,百度投诉中心24人工客服,厦门公司网站制作流程,佛山市网站建设如何使用 Jasypt 加密 Spring Boot 项目中的密码 在本文中,我们将学习如何加密 Spring Boot 应用程序配置文件(如 application.properties 或 application.yml)中的数据。在这些文件中,我们可以加密用户名、密码等。 您经常会遇到…

如何使用 Jasypt 加密 Spring Boot 项目中的密码

在本文中,我们将学习如何加密 Spring Boot 应用程序配置文件(如 application.properties 或 application.yml)中的数据。在这些文件中,我们可以加密用户名、密码等。

您经常会遇到开发项目,需要连接到 MongoDB等数据库,并将数据库连接的真实密码存储在 Spring Boot 项目的配置文件(application.yml 或 application.properties)中。甚至授权进行其他 API 调用所需的密码或令牌也以相同的方式存储。您实际上可以避免在配置文件中添加实际密码,并使用Java 库jasypt-spring-boot 。

Jasypt 是什么?

Jasypt  (Java 简化加密)为 Spring Boot 应用程序中的属性源提供加密支持。它将帮助您以极少的努力为您的项目添加基本的加密功能,并且无需编写任何代码,只需在您的项目中进行一些添加即可。Springboot 是一个非常强大的框架,它将帮助您添加加密功能而无需实现任何加密方法。Jasypt 具有高度可配置性。

使用 Jasypt 添加加密的步骤

  • 步骤1:添加Jasypt的Maven依赖
  • 第 2 步:在 Spring Boot 应用程序主配置中添加@EnableEncryptableProperties注释
  • 步骤3:选择加密和解密的密钥
  • 步骤 4:生成加密密钥
  • 步骤 5:在配置文件中添加加密密钥
  • 步骤6:运行时需要解密密钥
  • 步骤 7:运行应用程序。

步骤1:添加Jasypt的maven依赖

在 pom.xml 文件中,添加 maven 依赖项,该依赖项可以在 maven 存储库中轻松找到。

您可以使用以下依赖项作为参考:

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

对于 Maven 插件依赖项,您可以使用以下依赖项:

<plugins><plugin><groupId>github.ulisesbocchio</groupId><artifactId>jasypt-maven-plugin</artifactId></plugin>
</plugins>

第 2 步:在 Spring Boot 应用程序主配置类中添加注释

 需要添加@EnableEncryptableProperties注释以使应用程序了解整个Spring环境中的可加密属性。

@EnableEncryptableProperties
public class MyProject{//write the code here
}

步骤3:选择加密和解密的密钥

密钥用于加密密码,之后可用于解密加密值以获取实际密码。您可以选择任何值作为密钥。

步骤4:生成加密密钥 

加密密钥可以通过以下两种方法生成:

使用 Jasypt 在线工具:此  link  可用于通过传递所选密钥来生成加密密钥。

您实际上可以使用该工具加密并通过解密来检查加密密钥。

  • 加密密码:abcd1234
  • 选择加密类型: 双向加密(默认使用PBEWithMD5AndDES)
  • 密钥:你好(可以是任意值)
  • 加密字符串:kNuS1WAezYE7cph7zXVTiPSQSdHTx7Kv

使用 jasypt Jar: 从 maven 仓库下载 jasypt jar 文件并通过以下命令运行:

java -cp //jasypt-1.9.3/lib/jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=”xyz123″ 
password=secretkey algorithm=PBEWithMD5AndDES

以下是运行jar时传递的命令行参数的意义:

  • 输入:abcd1234(需要加密的实际密码)
  • 密码:hello(您选择的密钥)
  • 算法:PBEWithMD5AndDES(使用默认算法)
  • 输出:scEjemHosjc/hjA8saT7Y6uC65bs0swg(输入的加密值)

注意:虽然 3.1 和 3.2 中的加密值(即加密字符串和输出)不同,但由于密钥相同,因此两种情况下解密都会产生相同的值(abcd1234)。

步骤 5:在配置文件(application.yml 或 application.properties)中添加加密密钥

现在,您无需像上面那样添加实际密码(例如“abcd1234”),而是需要添加通过上述任一方法生成的加密值。但是 jasypt 依赖项如何理解配置文件的特定属性需要解密?因此,为了让 Jasypt 知道您的加密值,它使用了一种约定,您需要按照以下格式添加它:

注: ENC(加密密钥):ENC(scEjemHosjc/hjA8saT7Y6uC65bs0swg)

在上图中,数据库密码的加密已完成。你可以在任何需要隐藏实际密码的场景中使用它。

步骤 6:运行时需要解密密钥

让 Jasypt 知道您用来形成加密值的密钥。因此,以下是传递密钥的不同方法: 

将其作为配置文件中的属性传递。照常运行项目,解密就会发生。

步骤 7:运行应用程序

现在使用以下命令运行该应用程序:

$ mvn-Djasypt.encryptor.password=secretkey spring-boot:run

导出Jasypt加密器密码:

JASYPT_ENCRYPTOR_PASSWORD=hello

http://www.mmbaike.com/news/106105.html

相关文章:

  • 企业网站建设总结什么是网站seo
  • 网站开发的优势百度提问
  • 管理网站模板下载怎么给自己的公司建立网站
  • 给别人做网站赚钱北京优化网站推广
  • b站不收费观看谷歌chrome浏览器下载
  • 免费公司注册百度seo收录软件
  • 有哪些网站上可以做试卷磁力吧ciliba
  • 一级做爰片c视频网站求网址
  • 政府网站建设费用明细大数据营销案例分析
  • 网站开发 荣誉资质郑州网络seo
  • 安吉做企业网站最新的军事新闻
  • 山西太原门户网站开发公司网络营销品牌策划
  • 专题网站开发工具有哪些打开网址资料网站
  • 网站备案注销怎么恢复域名检测查询
  • 有了域名和主机怎么做网站怎样搭建一个网站
  • 西安网站建设首选那家网络推广的方法有多选题
  • 网站建设免费书app推广全国代理加盟
  • 网站建站开发上海做网站优化
  • 最常访问的网址seo排名官网
  • 怎样做化妆品公司网站微信广告
  • 要怎么做自己的网站视频教学网站百度手机端排名怎么查询
  • 淘客个人网站怎么建设什么是网络营销渠道
  • wordpress 切换域名兰州seo推广
  • 室内设计师需要考什么证海淀区seo搜索优化
  • 找哪个公司做网站推广最好免费推广网站2023
  • 花瓣官网设计网站搜关键词网站
  • 公众号怎么推广产品站长seo推广
  • 赣州那里有做网站的公司全网搜索引擎优化
  • 江都网站制作网络推广公司简介
  • 橙子建站是什么软件电脑培训网上课程