我正在尝试在phpMyAdmin中将我的密码字段类型设置为md5。我认为有一个函数下拉选项,其中包含MD5,但我看不到它。
我已经在网上寻找解决方案几天了,我已经尝试了所有我能想到的,但仍然没有运气。
以下是我可以看到的内容:http://imageshack.com/a/img834/9062/gmo7.jpg
如何将md5类型添加到我的字段类型密码?
答案 0 :(得分:1)
数据类型规范中的DEFAULT值子句表示a 列的默认值。除了一个例外,默认值必须 是一个常数;它不能是一种功能或表达。
所以你要做的是 不可能 。
您也可以使用触发器来实现这一目标。(我不建议这样做)但是,md5()
不再是推荐的散列算法。
推荐的方法是在PHP中使用crypt()
哈希函数,如果运行的是5.5+,则使用password_hash()
。对于运行5.3.7+但在5.5之前的用户,后者也有drop-in replacement。这些方法中的任何一种都允许您创建密码的哈希值,然后从查询中将其推送到您的表中。
答案 1 :(得分:1)
将phpmyadmin中的字段设置为VARCHAR,长度为32
然后以简单为例
$sth = $this->db->prepare("SELECT id, role FROM users WHERE
login = :login AND password = MD5(:password)");
$sth->execute(array(
':login' => $_POST['login'],
':password' => $_POST['password']
));
现在作为密码传递的任何值都会在输入
上获得md5()