问题

一般对密码都不会是明文存储,而是对密码进行MD5处理,增强反向解密难度。

但这样还是能可以找出破绽,因为MD5加密相同的数据,得到的密文是一样的。

如果用户可以查看数据库,那么他可以观察到自己的密码和别人的密码加密后的结果都是一样,那么,就会知道别人用的和自己就是同一个密码。

解决

加盐

对于这个问题其实只要稍微混淆一下就能防范住了,这在加密术语中称为“加盐”。

具体来说就是在原有材料(用户自定义密码)中加入其它成分(一般是用户自有且不变的因素),以此来增加系统复杂度。

当这种盐和用户密码相结合后,再通过摘要处理,就能得到隐蔽性更强的摘要值。

代码示例

//  对密码进行加盐后加密,加密后再通过Hibernate往数据库里存
String changedPswd = DigestUtils.md5Hex(name + pswd);

就是这样简单,上面代码中盐就是用户名,可以的话还可以用用户注册时的邮件,注册时间等非空信息(如果是空信息这个加盐处理会失效)。

下面是数据库中两个用户的记录,他们的实际登录密码都是123456,但光看用户记录是完全看不出来的。

这下别有用心的人打开数据库看到的密码都完全不一样,他以前的手段就失效了。

https://blog.csdn.net/u012724065/article/details/72858397

https://www.cnblogs.com/zygxfx/p/4860361.html

密码 加盐处理 是什么相关推荐

  1. md5 php 漏洞,PHP实现MD5密码加盐处理

    为了系统安全,大多密码都使用MD5加密处理,md5方式相对安全,但相同的密码MD5值也是相同的,加盐处理后可以生成相同密码而MD5值不同.不多说,直接上图(参考PHPCMS密码加密处理) 数据库如下: ...

  2. PHP实现MD5密码加盐处理

    为了系统安全,大多密码都使用MD5加密处理,md5方式相对安全,但相同的密码MD5值也是相同的,加盐处理后可以生成相同密码而MD5值不同.不多说,直接上图(参考PHPCMS密码加密处理) 数据库如下: ...

  3. 【项目】springboot中使用kaptcha生成验证码,登录时密码加盐处理

    记录使用kaptcha的过程 为前后端分离项目,前端vue框架 文章目录 0.下载jar包 1.添加依赖 2.添加KaptchaConfig配置 3.后端用于登录的封装类编写 4.修改controll ...

  4. hbuilderx简单网页代码_Python爬取网页数据

    都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便 简介 爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息 准备 IDE:PyChar ...

  5. 关于java web开发中的很多小问题集锦

    1.导出excel文件,文件名的中文问题 public static void setFileDownloadHeader(HttpServletRequest request, HttpServle ...

  6. 防火墙和系统安全防护

    参考文档https://blog.csdn.net/u010081690/article/details/52690267 防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网 ...

  7. Spring Boot 整合 Shiro(三)Kaptcha验证码 附源码

    前言 本文是根据上篇<Spring Boot 整合Shiro(二)加密登录与密码加盐处理>进行修改,如有不明白的转上篇文章了解. 1.导入依赖 <!-- https://mvnrep ...

  8. 01-Spring Boot的基本认识

    Spring Boot的基本认识 不管是Spring Cloud Alibaba还是Spring Cloud Netflix,都是基于Spring Boot 这个微框架来构建的.本篇只对Spring ...

  9. 同一账户在不同地方登录问题

    同一个账户在在不同地方登录,别的地方提示下线了. 概述 其实就是以用户最后一次登录的为准.其他登录的地方全部提示:你已经下线,是否重新登录.从而保护你的操作信息是安全的. 实现原理 随机产生一个uui ...

最新文章

  1. vue 跳转页面传参的时候参数值为undefined的解决方法
  2. redhat6.下安装配置hadoop环境--单实例版本
  3. 深度学习之卷积神经网络(Convolutional Neural Networks, CNN)
  4. linux tempfile指令学习
  5. 补习系列(14)-springboot redis 整合-数据读写
  6. linux ssh非交互脚本,sshpass-Linux命令之非交互SSH
  7. BST B-树 B+树 B*树简介
  8. visio 生成mysql脚本_Visio2010建立ER图并直接导出为SQL语句
  9. 如何做项目竞标的PPT?
  10. HDU 3065 病毒侵袭持续中 【AC自动机模版题】
  11. android cs bs 架构,BS架构与CS架构的区别
  12. Chapter 12 设计概念
  13. pnpm安装使用教程以及pnpm node版本管理以及EPERM operation not permitted symlink问题解决
  14. Brand.com 总统迈克·扎姆托说,勒索企图的受害者
  15. 3D数学基础——Rotator类的C++实现
  16. windows下使用nvcc和nvprof
  17. 某游戏公司测试工程师面试题
  18. 手机文件传到服务器,手机文件传输到服务器
  19. 国脉科技股份有限公司
  20. 苹果CEO史蒂夫·乔布斯(Steve Jobs)在斯坦福大学的演讲稿,中英文对照版

热门文章

  1. red hat 系统下载
  2. SpringApplicationRunListener
  3. 海量CAD图纸哪里获取呢?
  4. 【经验科普】实战分析C工程代码可能遇到的编译问题及其解决思路
  5. 互联网快讯:华为正式开启二手机业务;法院审理认定阿卡索赔猿辅导20万;极米高性能投影产品获用户青睐;谷歌Pixel 6 Pro首次放弃使用高通基带
  6. IIS服务器开启https
  7. 处理MySQL数据库出现大量Locked的一个案例[转]
  8. 【Excel常用函数】VLookup函数使用教程,附视频教程
  9. 【.NET学习】.NET入门及学习路线
  10. linux 设置每天定时重启