检查输入密码是否正确
Checking if the input-password was correct
到目前为止,我的程序只适合我自己。
我被要求为我的学校制作它 public,但从现在开始我只是比较用户名和密码,如
if inputu == username && inputp == password
但后来我开始研究挂钩和读取内存的东西,如果我像这样比较它应该很容易访问。
我不知道如何保存它,我听说 "hashing" pw 然后用相同的算法对输入进行散列并比较散列,但你不能也读出算法吗?
我不知道,谢谢你的帮助!
仅使用散列函数是不够的,仅添加盐对提高安全性也无济于事,加密散列非常快。取而代之的是用随机盐迭代 HMAC 大约 100 毫秒,然后用哈希值保存盐。
使用 PBKDF2
(又名 Rfc2898DeriveBytes
)、password_hash
/password_verify
、Bcrypt
等函数和类似函数。重点是让攻击者花费大量时间通过暴力破解找到密码。
References:
请参阅 Security Stackexchange 上的 How to securely hash passwords, The Theory。
参见 OWASP(开放 Web 应用程序安全项目)Password Storage Cheat Sheet。
见Modern, Secure, Salted Password Hashing Made Simple
保护您的用户很重要,请记住用户将在许多网站上使用相同的密码,如果您的密码被泄露可能会影响其他网站上的用户。请使用安全密码方式。
Books:
Handbook of Applied Cryptography 作者:Alfred J. Menezes、Paul C. van Oorschot 和 Scott A. Vanstone,请参阅免费下载
Cryptography Engineering 作者:尼尔斯·弗格森、布鲁斯·施奈尔和河野忠义
Applied Cryptography 布鲁斯·施耐尔
Cryptography Decrypted 作者:H. X. Mel 和 Doris M. Baker(我非常喜欢的好开胃菜)
到目前为止,我的程序只适合我自己。 我被要求为我的学校制作它 public,但从现在开始我只是比较用户名和密码,如
if inputu == username && inputp == password
但后来我开始研究挂钩和读取内存的东西,如果我像这样比较它应该很容易访问。
我不知道如何保存它,我听说 "hashing" pw 然后用相同的算法对输入进行散列并比较散列,但你不能也读出算法吗?
我不知道,谢谢你的帮助!
仅使用散列函数是不够的,仅添加盐对提高安全性也无济于事,加密散列非常快。取而代之的是用随机盐迭代 HMAC 大约 100 毫秒,然后用哈希值保存盐。
使用 PBKDF2
(又名 Rfc2898DeriveBytes
)、password_hash
/password_verify
、Bcrypt
等函数和类似函数。重点是让攻击者花费大量时间通过暴力破解找到密码。
References:
请参阅 Security Stackexchange 上的 How to securely hash passwords, The Theory。
参见 OWASP(开放 Web 应用程序安全项目)Password Storage Cheat Sheet。
见Modern, Secure, Salted Password Hashing Made Simple
保护您的用户很重要,请记住用户将在许多网站上使用相同的密码,如果您的密码被泄露可能会影响其他网站上的用户。请使用安全密码方式。
Books:
Handbook of Applied Cryptography 作者:Alfred J. Menezes、Paul C. van Oorschot 和 Scott A. Vanstone,请参阅免费下载
Cryptography Engineering 作者:尼尔斯·弗格森、布鲁斯·施奈尔和河野忠义
Applied Cryptography 布鲁斯·施耐尔
Cryptography Decrypted 作者:H. X. Mel 和 Doris M. Baker(我非常喜欢的好开胃菜)