如何在mysql中验证密码数据

时间:2015-10-26 15:29:43

标签: mysql authentication passwords

  1. 我创建了一个存储用户名和密码的'用户'表。
  2. 使用此查询插入用户详细信息(对于密码,使用 PASSWORD()功能):
  3. INSERT INTO user (username, password) VALUES ('testuser3', PASSWORD('helloworld'));

    1. 现在验证用户,使用了以下查询:
    2. SELECT * FROM user WHERE username ='testuser3'AND password = PASSWORD('helloworld');

      1. 想法是,如果SELECT查询返回一行,则用户将被验证,否则不会。但即使用户名和密码正确,我得到的回答是“空集”。
      2. 那么我必须在此SELECT查询中更新以获得所需的结果?

        注意:这个问题对于问题中提到的场景非常特别。实际商店密码使用盐渍哈希概念。 O.Jones和martinstoeckli在下面的评论中可以找到更多内容

1 个答案:

答案 0 :(得分:0)

找到了解决方法。我使用此查询创建了表:

CREATE TABLE user (id INTEGER NOT NULL AUTO_INCREMENT, username VARCHAR(32), password VARCHAR(64), PRIMARY KEY (id));

当我将用户名和密码的长度增加到128时,查询可以正常工作。