如何在phpMyAdmin中添加md5函数?

时间:2014-04-27 15:00:12

标签: php mysql sql phpmyadmin

我正在尝试在phpMyAdmin中将我的密码字段类型设置为md5。我认为有一个函数下拉选项,其中包含MD5,但我看不到它。

我已经在网上寻找解决方案几天了,我已经尝试了所有我能想到的,但仍然没有运气。

以下是我可以看到的内容:http://imageshack.com/a/img834/9062/gmo7.jpg

如何将md5类型添加到我的字段类型密码?

2 个答案:

答案 0 :(得分:1)

来自MySQL Docs..

  

数据类型规范中的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()