我正在为自己的网站创建一个登录系统,以便我可以通过表单进行更新。我手动将自己添加到数据库中的一个表中,我称之为用户,虽然只会有我,但我添加了密码纯文本。但是,我已经阅读了关于哈希密码的内容,但是从我可以看到这只能通过php函数完成,我可以使用sql部分在phpMyAdmin中完成吗?
答案 0 :(得分:6)
如果编辑表格的结构,则应该有一个名为“Function”的列。 在那里,您可以选择MD5,存储在该字段中的任何值都将变为哈希值。因此,如果您已经在表格中存储了密码,它也会变成哈希值。
像这样:http://www.xodino.it/wp-content/uploads/file/ubuntuftp/pureftpd-02.png
答案 1 :(得分:3)
看看这里: http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html
但如果你想用PHP做一下,请看一下。这是一篇关于密码散列的好文章: http://phpsec.org/articles/2005/password-hashing.html
答案 2 :(得分:1)
你应该对你的密码加密,然后哈希。使用MD5或SHA1的密码不再安全 - 您应该为每个密码生成一个唯一的salt,并使用Bcrypt创建一个强哈希。
本文给出了一个不错的解释: http://www.bentasker.co.uk/blog/security... 但是,自己进行谷歌搜索将为您提供有关在数据库中存储密码的大量结果。
您可以将Type更改为BINARY并将其设置为60.如果您的应用程序保持私有,则可以使用MD5,SHA1或PASSWORD功能。有关加密和压缩功能的说明,请参见官方MySQL文档:http://dev.mysql.com/doc/refman/5.5/...
答案 3 :(得分:0)
我可以在这里知道你想要什么吗?您想使用SQL加密密码吗?那么,在保存密码之前,你可以这样打电话吗?
select * from user where username='me' and password=md5($mypass)
如果这是你想要的,那取决于你的SQL引擎。 MySQL有一个名为MD5的功能来帮助你完成这项工作。
答案 4 :(得分:0)
我认为最简单的是编辑你的表,应该有一个名为“Function”的列。在那里,您可以从下拉列表中选择MD5,然后单击GO,存储在该字段中的任何值都将变为哈希值。因此,如果您已经在表中存储了密码,但是如果您尝试将转换后的散列文本再次更改为CHAR,则会更改原始密码并在php端输入正确的密码将失败
答案 5 :(得分:0)
UPDATE Desarrollo.Login SET password = md5('mypassword') WHERE Login.id = 1;
我认为这可以提供帮助。