我是phpmyadmin的新手。我想在不使用php代码的帮助下将密码的md5哈希存储在数据库表中。所以我找到了解决方案here。但我找不到'功能'在phpmyadmin-4.1.6中。我怎样才能实现目标?
答案 0 :(得分:5)
对于使用md5()加密密码,数据库在SQL中使用此查询。
更新table_name
SET column_name
= MD5('密码')WHERE'column_name'= column_value
此处MD5功能中的密码是您要在数据库中加密的密码
对于前: 如果我有一个名为“userdetails”的表为id =“user_id”,则为email =“email_id”,& for password =“pass”,密码为“12345678”
UPDATE userdetails
SET pass
= MD5('12345678')WHERE'user_id'= 1
您将获得打印输出,如1行影响0.0023秒
您的user_id = 1密码将被加密为25d55ad283aa400af464c76d713c07ad
如果您现在想要检查密码是什么,只需复制密码列代码和google for md5 decrypter或转到此链接:http://md5decrypt.net/en/并粘贴代码并点击解密按钮。您将以简单的文本获得密码。
注意:md5加密不适用于敏感信息&数据(S)。但是,如果您只是学习数据库而只是创建一个用于学习目的的数据库,则可以使用md5加密。
答案 1 :(得分:0)
它不是phpmyadmin函数,它是mysql function,存储密码使用此代码:
更新密码
UPDATE table_name SET column_name = MD5('password)WHERE column_name = column_value;
将密码插入表格
INSERT INTO table_name(column_name)VALUES MD5('password');
答案 2 :(得分:0)
MySql没有任何适当的函数来散列密码。 MD5的方法太快了,应该包含随机盐。由于盐,您不能只重新计算哈希值并将其与存储的哈希值进行比较。
也就是说,密码的散列不应该直接在SQL中完成,而应该使用服务器端语言。 PHP提供函数password_hash()和password_verify()。