检查输入密码是否正确

时间:2017-03-04 20:01:04

标签: c++ memory passwords password-protection password-encryption

我的节目直到现在才适合我。 我被要求将它公开给我的学校,但从现在开始我只是比较用户名和密码,如

如果inputu == username&& inputp ==密码

然后我开始关注钩子和读取内存的东西,如果我像这样比较它应该很容易访问。

我不知道如何保存,我听说"哈希" pw然后使用相同的算法对输入进行散列并比较散列,但你也不能读出算法?

我不知道,谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

仅使用哈希函数是不够的,只添加一个盐对提高安全性几乎没有作用,加密哈希非常快。而是使用随机盐在HMAC上迭代大约100ms持续时间并使用散列保存盐。

使用PBKDF2(又名Rfc2898DeriveBytes),password_hash / password_verifyBcrypt等功能以及类似功能。重点是让攻击者花费大量时间通过暴力破解密码。

  

参考文献:

请参阅Security Stackexchange上的How to securely hash passwords, The Theory

请参阅OWASP(开放式Web应用程序安全项目)Password Storage Cheat Sheet

请参阅Modern, Secure, Salted Password Hashing Made Simple

保护用户非常重要,请记住,如果您的密码受到其他网站上的用户侵害,用户将在许多网站上使用相同的密码。请使用安全密码方法。

  

书籍:

Alfred J. Menezes,Paul C. van Oorschot和Scott A. Vanstone的

Handbook of Applied Cryptography,见免费下载

Niels Ferguson,Bruce Schneier和Tadayoshi Kohno的

Cryptography Engineering

Bruce Schneier的

Applied Cryptography

H. X. Mel和Doris M. Baker的

Cryptography Decrypted(我非常喜欢的好首发)