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

网站建设人员工作要求湘潭网站设计

网站建设人员工作要求,湘潭网站设计,公司做网站,对网站建设心得目录 一、为什么要对密码进行加盐加密#xff1f; 1、明文 2、传统的 MD5 二、加盐加密 1、加盐算法实现思路 2、加盐算法解密思路 3、加盐算法代码实现 三、使用 Spring Security 加盐 1、引入 Spring Security 框架 2、排除 Spring Security 的自动加载 3、调用 S… 目录 一、为什么要对密码进行加盐加密 1、明文 2、传统的 MD5 二、加盐加密 1、加盐算法实现思路 2、加盐算法解密思路 3、加盐算法代码实现 三、使用 Spring Security 加盐 1、引入 Spring Security 框架 2、排除 Spring Security 的自动加载 3、调用 Spring Security 的加盐 一、为什么要对密码进行加盐加密 1、明文 明文是一定不行的因为会很容易就会泄露用户的个人隐私 2、传统的 MD5 传统的 MD5 是有规律可循的虽然 MD5 是不可逆的但是是可以被暴力破解的 因为一个 字符串的 MD5 的值是固定的当你有了一张 MD5 的穷举表彩虹表之后这张表中记录了几乎所有字符串的 MD5 对照表就可以对密码进行暴力破解 二、加盐加密 所以我们选择使用加盐加密对密码进行处理而这种处理方法中的盐值是随机不固定的随机也就意味着没有规律可言 在进行了加盐加密之后同样是一串明文密码在不同时间对其进行调用结果都是不同的这也是因为每次调用都有一个随机的盐值 1、加盐算法实现思路 每次调用方法的时候产生盐值唯一的然后使用这个盐值再加上我们的密码最终得到了一个密码 2、加盐算法解密思路 首先需要两个密码 1、需要验证的密码用户输入的密码 2、最终加密的密码存在数据库中的密码 核心思想得到盐值 我们将盐值存放到最终密码的某一个位置 从密码中 拿到盐值之后我们才能对原始用户输入的密码按照相同的路径进行加密然后和最终的密码进行对比从而判断用户输入的密码是否正确 验证密码伪代码 已知用户输入的明文密码此用户在数据库中存储的最终密码盐值 $ 加密后密码 1、从最终密码中得到盐值 2、将用户输入的明文密码 盐值 进行加密操作 加密后的密码 3、使用  盐值 分隔符 加密后的密码 生成数据库存储的密码 4、对比生成的最终密码和数据库最终的密码是否相等 如果相等那么用户名和密码就是对的反之则是密码输入错误 3、加盐算法代码实现 public class PasswordUtils {/*** 1、 加盐并生成密码* param password 明文密码* return 保存到数据库中的密码*/public static String encrypt(String password){// 产生盐值(32位)String salt UUID.randomUUID().toString().replace(-,);// 生成加盐之后的密码String saltPassword DigestUtils.md5DigestAsHex((salt password).getBytes());// 生成最终的密码 (保存到数据库中的密码)【约定格式 32位盐值 $ 32位加盐后密码】String finalPassword salt $ saltPassword;return finalPassword;}/*** 2、生成加盐的密码方法一的重载* param password 明文* param salt 盐值* return 数据库中的最终密码*/public static String encrypt(String password,String salt) {// 生成加盐之后的密码String saltPassword DigestUtils.md5DigestAsHex((salt password).getBytes());// 生成最终的密码String finalPassword salt $ saltPassword;return finalPassword;}/*** 3、验证密码* param inputPassword 用户输入的明文密码* param finalPassword 数据库中存储的最终密码* return*/public static boolean check(String inputPassword,String finalPassword){if (!StringUtils.hasLength(inputPassword) || !StringUtils.hasLength(finalPassword)|| finalPassword.length() ! 65){return false;}// 1、得到盐值String salt finalPassword.split(\\$)[0];// 2、使用加密方式对明文和盐值进行加密String confirmPassword encrypt(inputPassword,salt);// 进行对比return confirmPassword.equals(finalPassword);}/* public static void main(String[] args) {String password 123456;String finalPassword PasswordUtils.encrypt(password);System.out.println(加密 PasswordUtils.encrypt(password));String inputPassword 12345;System.out.println(对比 inputPassword 是否等于 password 结果 PasswordUtils.check(inputPassword,finalPassword));String inputPassword2 123456;System.out.println(对比 inputPassword2 是否等于 password 结果 PasswordUtils.check(inputPassword2,finalPassword));}*/ } 三、使用 Spring Security 加盐 1、引入 Spring Security 框架 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId/dependency 2、排除 Spring Security 的自动加载 SpringBootApplication(exclude {SecurityAutoConfiguration.class}) 3、调用 Spring Security 的加盐 BCryPasswordEncoder passwordEncoder new BCryPasswordEncoder();String password 123456;String finalPassword passwordEncoder.encode(password);System.out.println(第一次加密 finalPassword);System.out.println(第二次加密 passwordEncoder.encode(password));System.out.println(第三次加密 passwordEncoder.encode(password));// 验证String inpuPassword 12345;System.out.println(错误密码比对结果 passwordEncoder.matches(inpuPassword,finalPassword));String inputPassword2 123456;System.out.println(错误密码比对结果 passwordEncoder.matches(inpuPassword2,finalPassword));
http://www.hkea.cn/news/14364916/

相关文章:

  • 淄博网站制作方案徐水住房建设局网站
  • 衡水网站建设公司联系电话公司管理软件用什么好
  • 网站前台模板 html如何创建企业邮箱
  • 肇庆制作企业网站网站设计建设收费标准
  • 大连建设网站哪家好怎么用PS做网站横幅
  • 江阴外贸网站设计重庆网站网络推广
  • 建设网站方式有哪些如何建立网站
  • 如何做好一个企业网站个人主页设计代码
  • 给网站做备案茂县建设局网站
  • 欧美风格企业网站深圳万齐网站建设
  • 安陆做网站多少钱wordpress上传至哪个目录下
  • 网站转移后后台无法登陆成都网站建设司
  • 济南网络招聘北京优化服务
  • 镇江网站建设推广网站开发后服务费
  • 外贸网站建设上海推广效果好的有哪些
  • 网站没有内容可以备案吗中亿丰建设集团股份有限公司网站
  • 双语网站代码外贸网站建设制作
  • 如何在图片上添加文字做网站深圳房管局官网查询系统
  • 做母婴网站赚钱创意餐厅网站建设文案书
  • 网页设计模板网站免费下载奉贤建设机械网站制作
  • 网站验证码怎么做平面广告设计好学吗
  • 淄博网站制作首选专家专业做w7系统的网站
  • 网站设计的任务网站建设流程及规范
  • 外包做网站平台 一分钟包装设计网站排行榜前十名
  • 专业做红木家具网站摄影手机网站模板
  • 温州市网站制作多少钱wordpress标签球形
  • 北京网站建设有哪些ps做网站原形
  • 嘉定网站建设电脑培训怎么建立网站数据库连接
  • 合肥网站建设 微笑互联网站群集约化建设通知
  • 国外购买空间的网站有哪些教育网站模板下载