fnhp.net
当前位置:首页 >> mysql 建表的时候密码用 mD5()加密 但加密后的结果跟用PHP函数mD5出来的结果不一样 >>

mysql 建表的时候密码用 mD5()加密 但加密后的结果跟用PHP函数mD5出来的结果不一样

我没看到你的全程,不好下结论.可能会有几个问题:1. PHP md5加密,没有问题.2. MYSQL md5加密 也没有问题.3. 刚才对比了下,PHP的md5加密后的长度,比mysql md5加密后长度多两位.请问,你使用的字段,长度为多少,是否为 32 ?

MD5是不可逆加密,就是只能加密,不能解密.要想可逆加密,要使用对称加密DES、非对称加密RSA.

CREATE TABLE `tablename` ( `id` int(4) NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL DEFAULT '', `password` varchar(32) NOT NULL DEFAULT '', PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=gb2312;password 在输入后用PHP MD5()函数加密即可

不用,验证的时候也一样,验证的时候,先把密码变量MD5加密,然后比对数据库,如果不等,就提示登录失败,具体的可以自己写判断,如果提交的和原来的相等,就直接登录

改下数据库的字符编码就可以解决这个问题了,将默认gbk的改成utf-8的

你的php跟html不统一 密码用这个提交的 是 password但是你php用 $_REQUEST['pass'] 这个当值 每次都是空值吧 而且尽量别用$_REQUEST 表单是 post 那就用$_POST['password'] $pass = $_POST['password'] ;密码空值的判断 也没有必要 一般页面都会检查 有没有输入密码 不输入密码不能跳转(有特殊要求??)

首先要把md5文件包含进来如下 然后在需要的地方,常用的是密码如下实例: passwd=md5(trim(request.form("passwd")))

你的php跟html不统一<input type="text" name="password" /> 密码用这个提交的 是 password但是你php用 $_REQUEST['pass'] 这个当值 每次都是空值吧 而且尽量别用$_REQUEST 表单是 post 那就用$_POST['password'] $pass = $_POST['password'] ;密码空值的判断 也没有必要 一般页面都会检查 有没有输入密码 不输入密码不能跳转(有特殊要求??)

create table `tablename` ( `id` int(4) not null auto_increment, `name` varchar(30) not null default '', `password` varchar(32) not null default '', primary key (`id`)) engine=myisam default charset=gb2312; password 在输入后用php md5()函数加密即可

MD5是不可逆的.但是同样值的字符串只能有一个MD5编码.所以用户登录输入密码后:在后台验证时是先把取得的用户密码转换成MD5码,然后和数据库中的MD5码比较.如果你的字段够长度的话:UPDATE users SET password = MD5(password);如果长度不够,可以先增加长度后再做,或者多建一列,完成后删除原来的列!(如passwd)UPDATE users SET passwd = MD5(password);

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.fnhp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com