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

铁路建设工程网站微信卖货小程序怎么做

铁路建设工程网站,微信卖货小程序怎么做,企业做网站需要什么软件,杭州微官网设计公司文章目录1. 前言2. 密码加密1. 前言 本文 主要实现 对密码进行加密 #xff0c;因为 使用 md5 容易被穷举 (彩虹表) 而破解 #xff0c;使用 spring security 框架又太大了 (杀鸡用牛刀) 。   所以本文 就自己实现一个密码加密 . 2. 密码加密 这里我们通过 加盐是方式 来 对… 文章目录1. 前言2. 密码加密1. 前言 本文 主要实现 对密码进行加密 因为 使用 md5 容易被穷举 (彩虹表) 而破解 使用 spring security 框架又太大了 (杀鸡用牛刀) 。   所以本文 就自己实现一个密码加密 . 2. 密码加密 这里我们通过 加盐是方式 来 对密码进行加密 . 加盐 通常分为两部分 盐值 通常使用随机数加密数据 将盐值与加密数据合在一起 就是 加盐数据了 加盐数据通常来说是安全的 这里我们 盐值 是 随机的 每次加盐的数字都是不同的这里通过穷举 来 破解我们的数据 假设破解 一条数据 花费的时间 1 天 我们 有 1 千w 个数据 一个数据 是一天 那么 1 千 w 个数 全部破解 时间是非常多的 . 这里成本大于利益 那么谁去破解呢 所以这样做 我们的密码 就是安全的 . 知道加盐 下面就来自己实现一个加盐的方法 加密 随机盐 $ 最终加密密码解密 : 先通过 $ 进行分割 得到随机盐 最终密码 然后通过 md5 对 新输入的密码 与 得到的随机盐 进行加密 将得到的 新的加密密码 和 之前分割得到的 最终密码 进行对比 如果 相等 那么 就是相同的密码 返回 true如果不相等 就是不同的密码 返回 false 代码实现 这里我采用 的 是 使用 hutool 中的 MD5 进行 加密 的 所以需要引入 依赖 !-- 添加 hutool --dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.12/version/dependency创建一个 PasswordUtil 在这个类里面完成我们的加密和 解密 . package com.example.usermanager.tools;import cn.hutool.core.util.IdUtil; import cn.hutool.crypto.SecureUtil; import org.springframework.util.StringUtils;import java.util.UUID;/*** 密码工具类* 1. 加密 (加盐)* 2. 解密*/public class PasswordUtil {/*** 加密 (加盐)** param password* return*/// 生成的 UUID 带有 - : UUID.randomUUID();public static String encrypt(String password) {// 生成 uuid 不加 - 的 .// 随机盐值String salt IdUtil.simpleUUID();// 密码 (随机盐值 密码)String finalPassword SecureUtil.md5(salt password);return salt $ finalPassword;}/*** 解密** param password 要验证的密码 (未加密)* return 数据库中的加了盐值的密码*/public static boolean decrypt(String password, String securePassword) {boolean result false;if (StringUtils.hasLength(password) StringUtils.hasLength(securePassword)) {if (securePassword.length() 65 securePassword.contains($)) {// 注意 : $ 是特殊字符 使用 split 需要转义String[] securePasswordArr securePassword.split(\\$);// 盐值String salt securePasswordArr[0];// 根据盐值加密的密码String finalPassword securePasswordArr[1];// 使用同样的加密算法 和 随机盐值生成最终的加密的密码password SecureUtil.md5(salt password);// 进行对比if (finalPassword.equals(password)) {result true;}}}return result;}public static void main(String[] args) {String password 123456;String dbPassword PasswordUtil.encrypt(password);System.out.println(加密密码 dbPassword);boolean result PasswordUtil.decrypt(123456,dbPassword);String password2 123456789;boolean result2 PasswordUtil.decrypt(password2,dbPassword);System.out.println(result);System.out.println(result2);} } 效果 ​ 扩展 这里我们可以 对 加密密码 进行一个对称加密 对称加密后得到一个 32 位 数据 , 我们的程序可以通过 公钥 对 32 数据 还原 然后再通过我们写的 decrypt 进行 解密 . 这里主要是一个小功能 可以将这个加密 放在我们的项目中 .
http://www.hkea.cn/news/14320190/

相关文章:

  • 四川省红鱼洞水库建设管理网站wordpress批量拿站
  • 精品课程网站设计与实现怎样学做网络推广
  • 中国国际贸易网官网网站描述怎么写利于seo
  • 如何免费建立个人网站怎么查找一个网站开发时间
  • 北京网站设计我选柚米wordpress后台没有写权限
  • 浙江省建设局教育网站网站开发成本如何账务处理
  • 影视怎么建设网站网站优化工作室
  • 科技创业seo自动优化工具
  • wordpress ftp插件北京SEO网站优化公司
  • 建设银行造价咨询中心网站宜兴网站制作
  • 制作板块的网站凡科送审平台
  • 做自己看视频的网站wordpress 手机端APP
  • 分类信息网站推广的意义站长统计入口
  • 网站 权限网站关键词排名外包
  • 深圳官网网站建设wordpress文章经典编辑器
  • 网站推广大概需要多少钱国内免费代理服务器
  • 做视频网站对服务器要去网络推广公司是做什么的
  • 自己网站做搜索引擎优化快普网站怎么做采购退货
  • 云南网站建设找天软做网站开发需要学哪些东西
  • 新乡公司网站建设网页设计学校
  • 怎么建设影视卡网站建设大型购物网站
  • 城口自助建站人力资源公司排名
  • wordpress收费插件大全搜狗 优化网站
  • 在线网站制作wordpress 用户管理
  • 权威的南昌网站设计聊城网站建设聊城
  • 珠海市外贸网站建设公司建立网站主机
  • 网站建设技术实现难点泉州推广优化公司
  • dede小游戏php网站源码中国建设银行手机银行网站
  • 苏州营销型网站制作公司网站建设分金手指排名二八
  • 兰州最好的网站开发公司今天上海最新事件