【发布时间】:2013-07-28 11:51:58
【问题描述】:
我已设置 ProFTPD 以便它使用 mod_sql_mysql 后端。在我将用户插入 SQL 数据库之前,一切正常。为此,我使用了以下查询:
INSERT INTO `auth`.`users` (`userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`)
VALUES ('username', ENCRYPT('bluefish'), '999', '999', '/dev/zero', '/bin/laden');
我可以很好地登录我的帐户,但我真的不明白 ProFTPD 如何读取加密密码"bluefish",因为如果没有提供盐,MySQL 会使用随机盐。每次 ProFTPD 使用 MySQL 后端检查密码是否与数据库中的一个条目匹配时,这都会导致 ENCRYPT('bluefish') 的不同输出。
虽然它工作得很好。 ProFTPD 如何知道使用了什么盐?
【问题讨论】:
标签: mysql encryption ftp passwords salt