关于md5函数

komali 2008-03-28 01:02:37
各位大侠,我用MD5对注册页面的密码加了密,例如:
&passwd=$_POST["passwd"];
$md5=md5($passwd);

在数据库对应的密码那一栏值显示的是"6512bd43d9caa6e02c99".现在问题是如果我想在登陆页面以刚刚注册的用户登陆就登陆不了了提示密码不正确,是不是加密进了数据库之后还要再解密才能登陆?
...全文
130 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sven 2008-03-28
长度怎么不对? PHP md5处理后应该是32位的啊,你这个是不是字段长度不对?
回复
striker_un 2008-03-28
要学会调试.
最简单最直接的方法.
就是把你提交的变量.
提交的变量加密后的状态,
数据库取出的值,一个一个的echo 出来.
看看到底是哪里出了问题.

搞不好是数据库字段没有足够长这类小问题造成的影响.
回复
wlhcy 2008-03-28
把从登陆框获取到的密码信息用md5加密 然后在和数据库的密码进行比较!
回复
komali 2008-03-28
to gaoshou_z,是否可以举个例子啊 菜鸟不懂啊
回复
gaoshou_z 2008-03-28
先把用户输入的密码MD5加密后再用得到的密文去和数据库中的密文对比就行了
回复
komali 2008-03-28
[Quote=引用 1 楼 phpMania 的回复:]
不是,md5是不可逆加密
会把你输入的密码md5加密后与数据库中的密码密文对比,
一样就密码正确,否则密码不对
[/Quote]
谢谢!
那如果与mysql的密码密文不匹配 怎么样才能让它们匹配呢?
回复
MySQL也有md5函数!

mysql->query( "SELECT * FROM `user` WHERE password=md5('{$_POST['password']}')" );
回复
phpMania 2008-03-28
不是,md5是不可逆加密
会把你输入的密码md5加密后与数据库中的密码密文对比,
一样就密码正确,否则密码不对
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-03-28 01:02
社区公告
暂无公告