在教程的基础上,使用salt实现一个基本的用户注册+登录系统。目前我在注册阶段使用这个:

define('SALT_LENGTH', 9);

function generateHash($plainText, $salt = null)

{

if ($salt === null)

{

$salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);

}

else

{

$salt = substr($salt, 0, SALT_LENGTH);

}

return $salt . sha1($salt . $plainText);

}

$newpass = generateHash($_POST['newpass']);

followed by:

$sql = "INSERT INTO user SET

userid = '$_POST[newid]',

password = PASSWORD('$newpass'), ... etc"

这个很好用。

我现在要比较输入密码以检查是否相等(在单独的访问控制文件中):

define('SALT_LENGTH', 9);

function generateHash($plainText, $salt)

{

$salt = substr($salt, 0, SALT_LENGTH);

return $salt . sha1($salt . $plainText);

}

$sql = "SELECT password FROM user WHERE

userid = '$uid'";

$result = mysql_query($sql);

$row = mysql_fetch_row($result);

$comparepwd = generateHash($pwd, $row['password']);

if (mysql_num_rows($result) == 0 || $comparepwd != $row['password']) {

//access denied, unset session variables

}

INSERT INTO user SET

userid = '$_POST[newid]',

password = PASSWORD('$newpass')

密码('$newpass')会对MySQL产生进一步的影响吗?

php中写salt,请快速检查这个PHP+SALT实现-不工作?相关推荐

  1. 【修真院web小课堂】请描述 BFC(Block Formatting Context) 及其如何工作

    请描述 BFC(Block Formatting Context) 及其如何工作 小课堂[北京-WEB-A组] 分享人:要来点本子吗 大家好,我是IT修真院北京分院第35期的学员,一枚正直.纯洁.善良 ...

  2. pythonisnan_python - 在NumPy中快速检查NaN

    python - 在NumPy中快速检查NaN 我正在寻找最快的方法来检查NumPy数组np.nan != np.nan中NaN(np.nan in X)的出现.np.isnan(X)是不可能的,因为 ...

  3. 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_Excel基础—文件菜单之设置信息...

    点赞再看,养成习惯 少壮不努力,老大徒伤悲 由于文件菜单就有很多东西要学,因此文件菜单我们将分为三章来学.而本章将主要学习设置,先上思维导图,先了解一下有哪些东西要学.打了红色五角星的是我们着重要关注 ...

  4. 列注释_【EXCEL检查问题】:如何快速检查并删除EXCEL中隐藏的工作表、行、列等信息...

    前注:本案例是以EXCEL2016为示范软件,各版本的部分功能和路径可能不同 在EXCEL使用过程中,你是否遇到过某一列的公式怎么修改都报错的情况?你是否遇到过一个只有区区几行数据的表格,却占用了好几 ...

  5. 写一个方法判断一个整数是否为质数_请写一个函数来检查用户提交的数据是否为整数...

    请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制.八进制.十进制.十六进制数字) 1.is_integer 是 is_int() 的别名,是一样的 2.is_int/is_in ...

  6. sql integer字置为空_请写一个函数来检查用户提交的数据是否为整数

    请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制.八进制.十进制.十六进制数字) 1.is_integer 是 is_int() 的别名,是一样的 2.is_int/is_in ...

  7. php中显示li,请C语言大侠们帮忙看看,为什么总显示 array subsc... html中的ul li 用php怎么做?php在html中写 代码如......

    导航:网站首页 > 请C语言大侠们帮忙看看,为什么总显示 array subsc... html中的ul li 用php怎么做?php在html中写 代码如... 请C语言大侠们帮忙看看,为什么 ...

  8. 软著中写源代码60页快速实现方法

    软著中写源代码60页快速实现方法 原创 2016年09月26日 09:48:11 4699 我们在写软著的时候,其中包含要写60页的源代码,包含前30页,后30页,代码帖的太麻烦,可以直接用脚本实现. ...

  9. 在Excel表格中如何快速检查两张表的不一样的数据

    在Excel表格中如何快速检查两张表的不一样的数据 目录 在Excel表格中如何快速检查两张表的不一样的数据 1.全选第一张表格,找到"开始"选项卡中"条件格式" ...

最新文章

  1. IntelliJ IDEA中跳转到上一个视图位置(向后/向前导航)的键盘快捷键
  2. python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现
  3. 广西梧州举办警察半程马拉松邀请赛 3000多人开跑
  4. 用WMI获取远程机器操作系统的详细信息
  5. 使用SAX解析XML文件
  6. 小魂和他的数列(dp+树状数组优化)
  7. CF1342E. Placing Rooks
  8. cpu时间片 linux,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
  9. 前端:HTML5/36/HTML5简介,文档类型定义,网页字符集,页面结构标记,文章相关的标记,其它标记,音频标记,视频标记,表单中新增的属性,表单input元素type属性的值
  10. 2012021401
  11. BZOJ 1066[SCOI2007]蜥蜴
  12. C#仿win10计算器
  13. DAVE笔记--Micrium uc-Probo DashBoard调试
  14. java自行车s码适合身高_公路自行车尺寸与身高的选择
  15. java的8年来工作汇总
  16. es6删除数组某一项_JavaScript:集合与数组,重要但你不知道的ES6数据类型
  17. C/C++常用的文件函数注释格式
  18. android emulator ps4,PS4 Simulator模拟器
  19. day10 爬虫导言
  20. 使用英特尔® 图形性能分析器分析实际游戏性能

热门文章

  1. ios 后台下载,断点续传总结
  2. 解决克隆clone github 仓库速度过慢的问题
  3. Scala IDE for Eclipse的下载、安装和WordCount的初步使用(本地模式和集群模式)
  4. Java参数传递笔记
  5. RCF的优势--分布式应用
  6. ListView中convertView和ViewHolder的工作原理
  7. 你们还在用8位单片机吗?
  8. Linux kernel中常见的宏整理
  9. adb 抓取日志到指定文件,文件命名为当前电脑时间
  10. 计算机硬件知识考证题,计算机硬件知识题(答案)资料