mysql查询语句的where表达式如何引用字段值?

现有一个用户表:user字段列表为:uid整数唯一username字符串password加密字符串(算法见如下)salt(6位随机数)我要做登录判断,如何做到查询的时候引... 现有一个用户表:user字段列表为:uid 整数唯一username 字符串password 加密字符串(算法见如下)salt (6位随机数) 我要做登录判断,如何做到查询的时候引用一下自身的salt字段值进行判断?思想如下:$u = $_POST["username"];$p = $_POST["password"];select uid from `user` where username = '$u' and password ='" . md5( md5($p).salt字段值 ) . "' 意思是:密码必须是,当前密码经过md5一次加密后再与该行的salt字段值合并后再经过一次md5加密。问题关键在于,如何在where条件式里引用本身的salt字段值,求教?? 展开
 我来答
匿名用户
2013-09-04
展开全部
你只能先查处salt的值之后用MD5加密 然后select uid from `user` where username = '$u' and password +salt加密后的值='" . md5($p).salt加密后的值 . "' 不要觉得这是多此一举 你这样做的本身就是多此一举 如果是从安全性方面考虑 你这随机数也不是随机数了 因为已经固定在数据库了 要做建议你从PHP内取得随机数$a 然后在MD5加密 $b=md5($p).md5($a) 查询:select uid from `user` where username = '$u' and password+$a ='$b' 这样的安全性比你数据库存随机的安全性高得多 每次$a的值才是随机 如果能解决您的问题请采纳 谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式