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

网站建设记账做什么科目抖音代运营是什么

网站建设记账做什么科目,抖音代运营是什么,麻油厂网站怎么做,山东济南做网站公司一、使用步骤介绍 使用Jasypt#xff08;Java Simplified Encryption#xff09;进行数据加密和解密主要涉及几个步骤#xff0c;包括引入依赖、配置加密密码、加密敏感信息、将加密信息存储到配置文件中#xff0c;以及应用程序启动时自动解密。以下是详细的使用说明Java Simplified Encryption进行数据加密和解密主要涉及几个步骤包括引入依赖、配置加密密码、加密敏感信息、将加密信息存储到配置文件中以及应用程序启动时自动解密。以下是详细的使用说明 1. 引入依赖 首先你需要在你的项目中引入Jasypt的依赖。如果你是使用Maven构建项目可以在pom.xml文件中添加如下依赖注意版本号可能随时间更新请参考最新版本 dependencygroupIdcom.github.ulisesbocchio/groupIdartifactIdjasypt-spring-boot-starter/artifactIdversion3.0.5/version /dependency可根据需要替换成最新的版本号。 2. 配置加密密码 Jasypt需要一个密码来进行加密和解密操作。你可以通过以下几种方式配置这个密码 在配置文件中指定在你的application.properties或application.yml配置文件中添加jasypt.encryptor.password配置项并设置你的密码。例如 # application.properties jasypt.encryptor.passwordyour_encryption_password或者在application.yml中 jasypt:encryptor:password: your_encryption_password然而将密码直接写在配置文件中可能存在安全风险。因此更推荐的做法是通过启动参数或环境变量来传递这个密码。 通过启动参数指定在启动应用程序时可以通过-Djasypt.encryptor.passwordyour_encryption_password参数来指定加密密码。 使用环境变量在某些情况下使用环境变量来存储敏感信息如加密密码可能更为安全。具体方法取决于你的应用程序部署环境。 3. 加密敏感信息 在配置加密密码后你可以使用Jasypt提供的工具或API来加密你的敏感信息。加密后的信息将以密文形式存储。 使用Jasypt CLI工具Jasypt提供了一个命令行界面CLI工具允许你在命令行中加密和解密字符串。你需要下载Jasypt的jar包并在命令行中运行相应的命令。 使用Jasypt API在你的Java应用程序中你可以通过注入StringEncryptor接口的实现类来编程方式加密和解密字符串。这通常在你的Spring Boot应用程序中通过自动装配完成。 4. 将加密信息存储到配置文件中 加密敏感信息后你需要将这些加密后的信息存储到配置文件中。在Jasypt中加密后的信息通常以ENC(...)的形式出现括号内是加密后的密文。例如 # application.properties datasource.passwordENC(加密后的密码)5. 应用程序启动时自动解密 当你的Spring Boot应用程序启动时Jasypt会自动检测配置文件中的ENC(...)字符串并使用你配置的加密密码来解密这些字符串。解密后的明文将用于应用程序的配置中。 注意事项 安全性确保你的加密密码足够复杂且安全存储避免将密码直接写在配置文件中。版本兼容性注意你使用的Jasypt版本与其他库或框架的兼容性。算法选择Jasypt支持多种加密算法你可以根据需要在配置文件中指定加密算法。 通过以上步骤你可以在你的Spring Boot应用程序中使用Jasypt来加密和解密配置文件中的敏感信息。 二、使用示例代码 1、通过工具类生成密文 在application.properties 中增加配置或者通过-Djasypt.encryptor.password123456参数来指定加密密码 # 用于加密的密码 jasypt.encryptor.password123456使用 stringEncryptor.encrypt() 生成密文 public class JasyptSecretTest {Autowiredprivate StringEncryptor stringEncryptor;Value(${datasource.password})private String password;Testpublic void encrypt(){// 加密String encrypt stringEncryptor.encrypt(root);System.out.println(encrypt encrypt);} }2、在application.properties 中增加配置密文 # 加密后的密文包裹在ENC() 中 datasource.passwordENC(grdksstYZMsPmwvA0ALHXpzBQN2YTyA3t4ow1PDfJzblUV0LdO8UlajWKeqUF7y) # 用于加密的密码 jasypt.encryptor.password1234563、使用 Value() 获取明文也可以通过stringEncryptor.decrypt(encrypt)手动解密 SpringBootTest public class JasyptSecretTest {Autowiredprivate StringEncryptor stringEncryptor;Value(${datasource.password})private String password;Testpublic void encrypt(){// 加密String encrypt stringEncryptor.encrypt(root);System.out.println(encrypt encrypt);// 解密输入获取的加密字符串进行解密String decrypt stringEncryptor.decrypt(encrypt);System.out.println(decrypt decrypt);}Testpublic void show(){System.out.println(password password);} }原理说明 SpringBoot项目在启动过程中会自动注入beanStringEncryptor用于根据不同的加密算法初始化不同的加解密实现类通过StringEncryptorBuilder.build()初始化不同的加密算法 BeanNamePlaceholderRegistryPostProcessor Bean(name ENCRYPTOR_BEAN_NAME) public StringEncryptor stringEncryptor(final EnvCopy envCopy,final BeanFactory bf) {final String customEncryptorBeanName envCopy.get().resolveRequiredPlaceholders(ENCRYPTOR_BEAN_PLACEHOLDER);final boolean isCustom envCopy.get().containsProperty(ENCRYPTOR_BEAN_PROPERTY);return new DefaultLazyEncryptor(envCopy.get(), customEncryptorBeanName, isCustom, bf); }通过EncryptableMapPropertySourceWrapper重写了getProperty()方法在获取配置值的时候再做解密返回明文 DefaultPropertyResolver Override public String resolvePropertyValue(String value) {return Optional.ofNullable(value).map(environment::resolvePlaceholders).filter(detector::isEncrypted).map(resolvedValue - {try {// 获取密文String unwrappedProperty detector.unwrapEncryptedValue(resolvedValue.trim());String resolvedProperty environment.resolvePlaceholders(unwrappedProperty);// 执行解密操作return encryptor.decrypt(resolvedProperty);} catch (EncryptionOperationNotPossibleException e) {throw new DecryptionException(Unable to decrypt property: value resolved to: resolvedValue . Decryption of Properties failed, make sure encryption/decryption passwords match, e);}}).orElse(value); }三、Jasypt配置项 Jasypt支持多种配置参数以进行密码、Digest认证、文本和对象的加密。以下是Jasypt支持的一些常见配置参数 配置参数描述示例jasypt.encryptor.password加密器的密码用于解密属性jasypt.encryptor.passwordmySecretPasswordjasypt.encryptor.algorithm加密算法的名称jasypt.encryptor.algorithmPBEWithMD5AndDESjasypt.encryptor.keyObtentionIterations获取密钥时使用的迭代次数jasypt.encryptor.keyObtentionIterations1000jasypt.encryptor.poolSize加密池的大小如果使用了池化加密器jasypt.encryptor.poolSize1jasypt.encryptor.providerName加密提供者的名称如JCE提供者jasypt.encryptor.providerNameSunJCEjasypt.encryptor.saltGeneratorClassName盐生成器的类名jasypt.encryptor.saltGeneratorClassNameorg.jasypt.salt.RandomSaltGeneratorjasypt.encryptor.ivGeneratorClassName初始化向量生成器的类名jasypt.encryptor.ivGeneratorClassNameorg.jasypt.iv.NoIvGeneratorjasypt.encryptor.stringOutputType加密字符串的输出类型如base64jasypt.encryptor.stringOutputTypebase64jasypt.encryptor.property.prefix加密属性前缀用于识别加密属性jasypt.encryptor.property.prefixENC(jasypt.encryptor.property.suffix加密属性后缀用于识别加密属性jasypt.encryptor.property.suffix)jasypt.encryptor.proxyPropertySources是否通过代理截取属性值以进行解密jasypt.encryptor.proxyPropertySourcestrue 注意 这些参数主要用于配置Jasypt加密器StringEncryptor的行为。在实际使用中特别是生产环境中jasypt.encryptor.password等敏感信息不应该硬编码在配置文件中而是通过环境变量、命令行参数或外部配置文件等方式安全地传递。Jasypt支持多种加密算法如PBEWithMD5AndDES、PBEWithHMACSHA512ANDAES_256等具体选择哪种算法取决于安全需求和环境配置。上述表格中的示例配置参数值仅为演示用途实际使用时需要根据项目需求和安全策略进行配置。 四、支持的加密算法 Jasypt支持多种加密算法以保护敏感数据。以下是Jasypt支持的一些常见加密算法 加密算法名称描述PBEWithMD5AndDES基于密码的加密PBE使用MD5作为散列函数和DES作为加密算法。这是一种较旧的加密算法但在某些旧系统中可能仍在使用PBEWithMD5AndTripleDES与PBEWithMD5AndDES类似但使用TripleDES作为加密算法提供了更强的安全性。PBEWithHMACSHA512ANDAES_256使用HMAC-SHA-512散列函数和AES-256加密算法的组合提供了非常高的安全性。这是Jasypt较新版本中推荐的加密算法之一默认值AES高级加密标准AES是一种广泛使用的对称加密算法。Jasypt支持不同长度的AES密钥如AES-128、AES-192和AES-256RSARivest-Shamir-AdlemanRSA算法是一种非对称加密算法。它使用一对密钥公钥和私钥。公钥用于加密数据私钥用于解密数据 参考资料 https://github.com/ulisesbocchio/jasypt-spring-boot
http://www.w-s-a.com/news/732081/

相关文章:

  • 做地铁建设的公司网站手机网站首页布局设计
  • 福建亨立建设集团有限公司网站搜狗网页游戏大厅
  • 设计网站musil访问量大的网站选择多少流量的服务器何时
  • 公司网站包括哪些内容新网站怎样做外链
  • 淘宝宝贝链接怎么做相关网站广州好蜘蛛网站建设
  • 长春网站制作网页博山区住房和城乡建设局网站
  • 云南大学网站建设解析到网站怎样做
  • 网站维护的要求包括锦溪网站建设
  • 金站网.营销型网站学校安全教育网站建设
  • 临沂市建设局网站公示军事新闻头条2023
  • 购物网网站建设lamp 做网站
  • 做网站网站庄家html5网站开发技术
  • 无锡门户网站制作电话广告设计公司的未来
  • 白云区专业网站建设网页设计模拟试题答案
  • 毕业设计网站代做多少钱制作旅游网站设计概述
  • 网站开发维护运维无人在线电视剧免费观看
  • 电子商务网站建设开题报告展馆网站建设
  • 门户网站建设的背景和意义手机网站前
  • 国内免费视频素材无水印素材网站国家最新消息
  • 襄阳seo站内优化学做网站论坛教程
  • 文明网站建设情况报告wordpress伪静态配置
  • 牙科网站模板个人微信网站建设
  • 厦门公司注册网站dw做简单小说网站
  • 网站建好以后每年都续费么wordpress 仿聚划算
  • 单位网站建设收费标准网上开店铺需要多少钱
  • 灯饰网站需要这么做申请域名的流程
  • 软件下载网站怎么赚钱wordpress减少数据库查询
  • 什么兼职网站可以做视频剪辑常见的推广平台有哪些
  • 网站开发是用html还是jsp设迹官网
  • 查公司信息的网站怎么学wordpress