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

公司网站建设知识免费seo网站推荐一下

公司网站建设知识,免费seo网站推荐一下,微信小程序vr全景,网站关键词布局目录 加密的介绍 MD5算法 盐值 加密的介绍 加密介绍:在MySQL数据库中, 我们常常需要对密码, 身份证号, 手机号等敏感信息进行加密, 以保证数据的安全性。 如果使用明文存储, 当黑客入侵了数据库时, 就可以轻松获取到用户的相关信息, 从而对用户或者企业造成信息…

目录

加密的介绍

MD5算法

盐值


加密的介绍

加密介绍:在MySQL数据库中, 我们常常需要对密码, 身份证号, 手机号等敏感信息进行加密, 以保证数据的安全性。 如果使用明文存储, 当黑客入侵了数据库时, 就可以轻松获取到用户的相关信息, 从而对用户或者企业造成信息泄漏或者财产损失。

加密算法:对称加密、非对称加密、摘要算法。

1. 对称密码算法:是指加密秘钥和解密秘钥相同的密码算法

2. 非对称密码算法 是指加密秘钥和解密秘钥不同的密码算法. 该算法使用一个秘钥进行加密, 用另外一 个秘钥进行解密。

摘要算法:把一个不固定长度的字符串,通过一定的算法,变成固定长度的字符串。(不可逆的,无法解密)

MD5算法

MD5算法就是摘要算法的一种

缺陷:虽然经过MD5加密后的密文无法解密, 但由于相同的密码经过MD5哈希之后的密文是相同的, 当密码位数简单时,黑客可以事先建立好对应的数据库进行比对,从而破解密码。

盐值

解决方案: 采用为一个密码拼接一个随机字符来进行加密, 这个随机字符我们称之为"盐". 假如有⼀个加盐后的加密串,黑客通过一定手段对这个加密串, 他拿到的明文并不是我们加密前的字符串, 而是加密前的字符串和盐组合的字符串, 这样就增加了字符串的安全性。

实现加密

1.存储随机盐值

2.存储加密后的密文

3.加密算法(MD5)

写加密/解密工具类

public class SecurityUtils {/*** 加密* @param password  明文密码* @return  盐值+密文*/public static String encrypt(String password){//生成随机盐值String salt = UUID.randomUUID().toString().replace("-","");System.out.println(salt);//加密  盐值+明文String securityPassword = DigestUtils.md5DigestAsHex((salt+password).getBytes());//数据库中存储   盐值+密文return salt+securityPassword;}/*** 校验* @return*/public static boolean verify(String inputPassword, String sqlPassword){//取出盐值if (sqlPassword ==null || sqlPassword.length()!=64){return false;}String salt = sqlPassword.substring(0,32);//得到密文String securityPassword = DigestUtils.md5DigestAsHex((salt+inputPassword).getBytes());return (salt+securityPassword).equals(sqlPassword);}public static void main(String[] args) {String finalPassword = encrypt("123456");System.out.println(finalPassword);System.out.println(verify("123456",finalPassword));}
}

修改一下数据库密码,使用测试类给密码123456(假设我们的数据库密码为123456)生成密文:

随机盐值:

有分割杠,容易被黑客识别,去掉中间的分割杠。由于去掉后本就分不清密文和随机盐值,再加上存储的顺序可以是千变万化的,更加不容易破解密码。

修改数据库明文密码为密文, 执行SQL:

update user set password='';
//数据库 password修改成生成的密文

登录接口:

 @RequestMapping("/login")public Result login(String userName, String password){//1.参数校验//2.密码校验//3.生成token并返回if(!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)){return Result.fail("用户名或密码为空");}//获取数据库中的密码UserInfo userInfo=userService.queryByName(userName);if(userInfo==null ||userInfo.getId()<0){return Result.fail("用户不存在");}//校验密码if (!SecurityUtils.verify(password, userInfo.getPassword())){return Result.fail("密码错误!");}//生成token并返回Map<String,Object> claim=new HashMap<>();claim.put("id",userInfo.getId());claim.put("name",userInfo.getUserName());String token= JwtUtils.genToken(claim);return Result.success(token);}

http://www.dtcms.com/wzjs/336457.html

相关文章:

  • 网站轮播图怎么设计手机百度网页版 入口
  • 合肥网站建设哪个公司做得比较好网站cms
  • 电子商务网站 icp备案百度贴吧免费发布信息
  • 专门做创意桌椅的网站推广自己的产品
  • 杭州网站改版谷歌推广怎么做最有效
  • 网站没有做的关键词有排名关键词排名优化
  • 大型的营销型网站seo怎么赚钱
  • 哪些网站是做采购的旺道seo推广有用吗
  • 做房产网站多少钱常熟seo关键词优化公司
  • 专门做网站的公司交什么重庆放心seo整站优化
  • 用织梦系统做的2个网站要把它都上传到服务器上吗产品软文是什么意思
  • 建站合同营销型网站建设团队
  • 网站建设中标签导航的特征广州seo代理计费
  • 一起做网店17网安徽搜索引擎优化
  • 太原企业网站搭建学电商运营的培训机构
  • 知东莞app下载孝感seo
  • 潍坊网站建设优化网站技术解决方案
  • 长春建站模板厂家河南网络推广公司
  • 做电商什么素材网站好抖音seo关键词排名技术
  • 永久免费asp空间申请网站优化课程培训
  • 网站前端建设报价单北京网站制作
  • c 如何拖控件做网站怎样推广公司的网站
  • 沈阳网站设计开发公司青岛官网seo公司
  • 怎么给网站做域名重定向泉州网站seo公司
  • 爱站网收录专门开发小程序的公司
  • 中企动力石家庄分公司点击精灵seo
  • 鞍山站google框架一键安装
  • 石家庄市建设局网站seo推广小分享
  • 什么是网站的二级目录下百度我的订单app
  • 北京建设工程协会网站市场监督管理局职责