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

长春好的做网站公司有哪些怎样做酒店网站ppt

长春好的做网站公司有哪些,怎样做酒店网站ppt,网页设计视频教程-响应式手机网站制作,十堰市建设工程管理处网站1.为什么要有这个需求#xff1f; 一般当我们自己练习的时候#xff0c;username和password直接是爆露出来的 假如别人路过你旁边时看到了你的数据库账号密码#xff0c;他跑到他的电脑打开navicat直接就是一顿连接#xff0c;直接疯狂删除你的数据库#xff0c;那可就废…1.为什么要有这个需求 一般当我们自己练习的时候username和password直接是爆露出来的 假如别人路过你旁边时看到了你的数据库账号密码他跑到他的电脑打开navicat直接就是一顿连接直接疯狂删除你的数据库那可就废了所以像这种重要的敏感信息一般是加密过后显示出来的也就是数据的脱敏一般公司你看到的数据库连接信息是这样的。 这显然就是加密过后的但是数据库连接时如果获取到的是你加密过后的密码那肯定是错误的所以我们需要在数据库获取到信息之前把它给解密切记解密是在获取到数据之前进行的。 2.jasypt是如何保证数据安全的 可能你会好奇它既然能解密那我拿着你的密文去调用jasypt提供的解密方法(api)去解密不就行了吗但是jasypt可不是这么干的它提供了一个盐salt它加密和解密是如下过程进行的。 可以看出没有盐你就算知道密文也没用。也可以说盐就是打开你金库的钥匙。此时你可能会好奇那密文肯定是代码里面生成的啊那你生成的时候盐salt和原密码肯定也是写在代码里了那不也不安全吗其实这个密文是我们提前通过测试工具类生成好的再放到配置文件中生成好以后测试工具类就可以直接删除了所以盐和原密码不会暴漏在代码中最终只有你知道。 3.SpringBoot项目中如何使用jasypt 3.1引入依赖 !--jasypt-- dependencygroupIdcom.github.ulisesbocchio/groupIdartifactIdjasypt-spring-boot-starter/artifactIdversion3.0.3/version /dependency 3.2创建jasypt工具类 主要用于提前进行加密和解密的 package com.fzy.utils;import org.jasypt.encryption.pbe.PooledPBEStringEncryptor; import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;public class JasyptPasswordUtil {private static final String PBEWITHMD5ANDDES PBEWithMD5AndDES;private static final String PBEWITHHMACSHA512ANDAES_256 PBEWITHHMACSHA512ANDAES_256;/*** 加密* param salt 你设置加密用的盐* return 加密类PooledPBEStringEncryptor所需要的配置类*/public static SimpleStringPBEConfig getJasyptConfig(String salt){//加解密配置SimpleStringPBEConfig config new SimpleStringPBEConfig();config.setPassword(salt);//配置盐极其重要config.setAlgorithm(PBEWITHHMACSHA512ANDAES_256);//加密算法//下面的配置不用关心config.setKeyObtentionIterations(1000);config.setPoolSize(1);config.setProviderName(SunJCE);config.setSaltGeneratorClassName(org.jasypt.salt.RandomSaltGenerator);config.setIvGeneratorClassName(org.jasypt.iv.RandomIvGenerator);config.setStringOutputType(base64);return config;}/*** 加密方法* param salt 输入盐* param text 输入需要加密的文本* return 密文*/public static String encryptText(String salt, String text){PooledPBEStringEncryptor encryptor new PooledPBEStringEncryptor();//加密类SimpleStringPBEConfig config getJasyptConfig(salt);//获取并设置加密配置类encryptor.setConfig(config);String encryptText encryptor.encrypt(text);//进行加密return encryptText;}/*** 解密方法此处没什么用就是用来自己看看能不能解密* param salt 输入盐* param text 输入需要加密的文本* return 明文*/public static String decryptText(String salt, String text){PooledPBEStringEncryptor encryptor new PooledPBEStringEncryptor();SimpleStringPBEConfig config getJasyptConfig(salt);encryptor.setConfig(config);String decryptText encryptor.decrypt(text);return decryptText;}public static void main(String[] args) {//生成的密文将来放到你yml文件中例如数据库的用户名密码等敏感信息String encryptText encryptText(biecaile, root);System.out.println(加密后 encryptText);String decrypt decryptText(biecaile, encryptText);System.out.println(解密后 decrypt);}} 运行后的结果 稍微了解两个加密算法PBEWithMD5AndDES和PBEWITHHMACSHA512ANDAES_256 这两个算法跟jasypt的版本有关如果我们不配置加密算法无论是3.0还是2.0好像加密都是PBEWithMD5AndDES但是解密如果2.0.xxx是使用的PBEWithMD5AndDES3.0使用的是PBEWITHHMACSHA512ANDAES_256此处不是指我们自己测试去解密而是指再配置完yml文件或者程序参数后自己去解密(下面)所以如果解密算法与加密不一致就会报错(一般启动项目就会报错)最好指定加密算法像我是3.0版指定加密算法为PBEWITHHMACSHA512ANDAES_256 那在yml文件中就不用再配置解密算法了。配一下当然最好。 3.3配置yml文件 jasypt:encryptor:password: biecaile #解密盐值algorithm: PBEWITHHMACSHA512ANDAES_256 #解密算法 test:password: ENC(MsGb7KJD6ZxdEH5O42MMlDVH6mvtP46IlwVqbXq/CHQR75x2WG7YyOf3Ootndd) 其中的test:password是我们自定义的主要用于测试ENC()这个是jasypt自动识别yml属性值的一个标识只要加上当前值就会被解析成明文里面存放的是我们生成的密文。 3.4编写读取yml文件属性值的配置类TestConfig  这里主要是为了测试能不能在获取到属性之前密文已经被解密了也就是说此处如果正确的话获取到的就是我们的明文“root”,实际工作根本不需要 package com.fzy.config;import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration;Configuration Data public class TestConfig {Value(${test.password})private String password; }3.5随便编写一个TestController去测试获取该数据 Controller RequestMapping(/test) public class TestController {Autowiredprivate TestConfig testConfig;RequestMapping(/getText)ResponseBodypublic String getText(){return testConfig.getPassword();} } 结果发现获取到的是明文已经成功了 4.能在配置文件中配盐值salt吗 肯定是不行的这样salt直接就爆露出来了很危险尤其是放在代码中也很容易就发现一般不会写在配置文件中的我们可以把它放到启动类的程序实参中 填写--jasypt.encryptor.password你的盐值salt然后applyok确定就行。配置完以后把你在配置文件中的password所谓的salt去掉就行结果一样的。一般只要salt配的不对程序启动就会直接报错。 总结这样的话就算我把代码给你你都跑不起来项目因为你没有salt就配不了然后你只能去问我要我就不给你那么你就破解不了数据库的密文你就别想连上我的数据库。
http://www.dnsts.com.cn/news/242160.html

相关文章:

  • win7系统做网站服务器类似于美团的网站怎么做
  • wordpress做网站容易吗投资公司怎么运作
  • 东莞沙田门户网站建设免费网页代理在线
  • 合肥市门户网站柳州市网站制作公司
  • 关于 门户网站 建设 请示阿里云虚拟主机如何安装wordpress
  • 网站免费网站免费片黄入口蜜桃观看射破屁屁清远市网站建设
  • centos 6 wordpress网站如何seo
  • 网站地址地图怎么做win10搭建wordpress
  • 国内外贸网站建设公司线上课程
  • 为什么有的网站只有版权没有备案做个爬架网站如何做
  • 龙信建设集团有限公司网站重庆百度推广电话
  • 网站制作窍门国外h5制作网站模板下载
  • 商业网站域名后缀免费的建网站软件
  • 大型flash网站网站建设需要租用什么
  • 网站建立之间不安全如何解决wordpress表格图表插件
  • 企业网站开发前后台模块设计网页制作工具软件下载
  • wordpress文章图片显示不出来搜索引擎优化文献
  • 正规网站建设网站制作西安煤炭建设监理中心网站
  • 济南哪家公司做网站好安徽省住房城乡建设厅网站官网
  • 中国移动的5G网站建设给了谁招聘网站分析如何做
  • 简述网站规划的流程长清治做网站
  • xuzhou网站制作网站如何做跳板
  • 备案不关闭网站茶叶企业网站开发源码
  • 汕头拿家做网站蚌埠房产网
  • 怎么利用婚庆网站做营销国际军事新闻最新消息头条
  • 网站被攻击了怎么处理织梦网站自助申请友链代码
  • 个人免费网站主题 外贸网站 模板
  • 58同城类似的网站开发wordpress怎么在导航栏添加搜索框
  • 网站域名的作用是什么宁夏住房和城乡建设厅网站首页
  • 专业网站建设公司在线咨询网上开店的好处