【发布时间】:2017-07-31 22:52:13
【问题描述】:
我有一个 users.txt 文件,其中用户名和密码以这种格式存储(出于教育目的,它必须位于 .txt 文件中):
用户名1:密码1
用户名2:密码2
密码使用 md5 加密。我还有一个登录页面,用户在其中输入用户名和密码。我的问题是,如何检查用户输入的用户名和密码是否正确?
【问题讨论】:
-
您自己尝试过什么解决方法?
-
仅使用散列函数是不够的,仅添加盐对提高安全性无济于事。相反,iIterate over an HMAC with a random salt for about 100ms duration and save the salt with the hash.使用
PBKDF2、Rfc2898DeriveBytes、password_hash、Bcrypt等函数和类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。 -
MD5 不是加密,它是一个弱加密散列。加密哈希是一种单向函数,不可能反转操作。加密是一个可逆的函数,并且有一个加密和解密所需的密钥。
-
我最近开始学习 PHP。正如我所写的那样,该项目用于教育目的,不会在现场环境中使用。我在网上寻找解决方案,但找不到解决方案,所以我在这里提出问题。
-
安全性对于这个项目并不重要,因为除了我的 WAMP 服务器用于学习之外,它不会在任何地方使用。我只需要知道如何检查用户输入的用户名和密码是否正确。