前段时间很多网站被撞库了,我们也不例外。之前用的密码一次MD5加密的算法已经不安全了,因为有太多的地方(http://www.cmd5.com/)可以暴力爆破MD5的加密算法。为了解决这个安全问题,决定对用户密码的加密强度进行改进,将原先的唯一MD5方式进行提升,对密码进行两次的MD5加密,在进行第二次MD5加密的时候,对第一次的MD5的值再加点盐(SALT)。因为煮菜的时候每次放的盐都是不一样的,所以这个$salt是个随机字符,每个用户都不一样。
新用户注册:
1、获取SALT
$salt = substr(uniqid(rand()),-6);
2、密码通过SALT的组合加密方式
$password = md5(md5($password).$salt);
3、在用户表里增加一个salt字段,把随机生成的$salt值和用户名密码一起存到表里去
$sql = "INSERT INTO sdb_members SET uname='{$uname}',password='{$password}',salt='{$salt}'";
用户登录:
1、通过uname去表里找出对应的会员表信息
$sql = "SELECT * sdb_members SET uname='{$uname}'";
2、提取该uname的密码和SALT值,然后按通过的算法进行比对
//$password1是用户表里存的值,$password2是前台输入的值
$password1 = md5(md5($password2).$salt);
大体的思路就是这样。
分享到:
相关推荐
MD5加密工具类,内置注释代码,可以调用配置文件,通过文件设置salt,增加破解难度。
salteen 一个轻量级JS库实现使用盐(salt)来加密和解密值
RSA加密工具 利用RSA+MD5+salt 加密后 可以导出csv文件,加密的csv文件可以导入进行解密
SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出...
使用密码和salt值联合密码使用md5加密实现登录注册功能,有界面、数据库、java实现
1.使用Node.js中的crypto模块加密用户密码和加盐,加密密码和原始密码验证。 2.使用Node.js中的crypto模块对字符串进行加密和解密,采用非对称加密方式。
本文主要介绍了C# salt+hash加密规则、C# salt产生伪随机数原理、hash原理、使用hash来加密的原因等等。具有一定的参考价值,下面跟着小编一起来看下吧
本文主要介绍了几种常见的破解密码的方法,为密码加盐(Salt)以及在.NET中的实现等。具有一定的参考价值,下面跟着小编一起来看下吧
Get a complete introduction to Salt, the widely used Python-based configuration management and remote execution tool. This practical guide not only shows system administrators how to manage complex ...
Adaucogit Salt 不仅提供2D全系列的自动标注尺寸(线性自动标注、坐标式自动标注、孔自动列表….),另外还有3D的全自动标注尺寸。 我们知道使用AutoCAD来标注三维尺寸,你必须随时改变UCS平面来标注适合的尺寸位置,...
提供MD5最新加密解密等功能 1.MD5加密 加密时请输入明文,软件会自动加密,点击密码后会自动辅助 2.MD5解密 Md5解密加密专家支持以下类型的解密: md5、md5(md5($pass))、md5(md5(md5($pass)))、MD5(MD5...
Chapter 1: Salt Architecture and Components Chapter 2: Writing Advanced Salt Configurations Chapter 3: Modules, Orchestration, and Scaling Salt Chapter 4: General Administration Tasks Chapter 5: ...
Sha256Hash+salt 加密-附件资源
不知道大家知不知道,在开发的时候如果直接给密码散列,黑客可以通过查散列值...但如果加上salt后就会难上很多,即便是你获得了其中的salt和最终密文,破解也是相当麻烦的。下面跟着小编通过这篇文章来一起学习学习吧。
(一) 为什么要用哈希函数来加密密码 如果你需要保存密码(比如网站用户的密码),你要考虑如何保护这些密码数据,象下面那样直接将密码写入数据库中是极不安全的,因为任何可以打开数据库的人,都将可以直接看到...
指定字典目录或者字典路径,软件会自动爆破带salt值的md5,速度根据电脑配置而定 指定字典目录或者字典路径,软件会自动爆破带salt值的md5,速度根据电脑配置而定 指定字典目录或者字典路径,软件会自动爆破带salt值的...
Oracle SALT安装文档,针对10g以上
sha256不含盐值 sha256含盐值 sha256含盐值的校验 生成秘钥 加密AES128 解密AES128
salt基于python开发的自动化运维工具。