SALT的组合加密方式

 前段时间很多网站被撞库了,我们也不例外。之前用的密码一次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);

 大体的思路就是这样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值