0

我的程序仅适用于我。 我被要求把它公开供我上学,但因为现在我只是比较喜欢检查输入密码是否正确

useriname和密码,如果inputu ==用户名& & inputp ==密码

但后来我脑袋一下挂钩和东西读出内存,如果我比较它,它应该很容易获得访问。

我不知道如何保存它,我听说过“散列”pw,然后用相同的算法对输入进行散列,然后比较散列,但不能读出算法呢?

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

+0

*“但你不能读出算法吗?”*是的,但这并不意味着你的程序是不安全的。考虑到RSA和ECDSA是开放的加密算法,并且它们也被认为是安全的。尽管*已知,但好的加密算法是安全的*。 – cdhowie

+0

如果有人想破解你的密码,他会这样做。你为什么想要安全?密码的目的是什么? – user463035818

+0

你想要做的是使用像sha512这样的加密算法。用户密码附加一个'salt',然后通过'sha512'算法运行,然后将其作为密码存储。然后,当他们再次登录时,您将按照相同的步骤将保存的加密密码与输入的密码进行比较。 –

回答

0

只使用散列函数是不够的,只是增加一点盐对提高安全性没有多大作用,密码散列速度非常快。相反,用随机盐迭代HMAC约100ms持续时间,然后用散列表保存盐。

使用的功能,例如PBKDF2(又名Rfc2898DeriveBytespassword_hash/password_verifyBcrypt和类似的功能。关键是要让攻击者花费大量时间通过强力查找密码。

参考文献:

How to securely hash passwords, The Theory的安全Stackexchange。

请参阅OWASP(Open Web Application Security Project)Password Storage Cheat Sheet

Modern, Secure, Salted Password Hashing Made Simple

保护你的用户是非常重要的,记住,用户会在许多网站使用相同的密码,如果您的密码被泄露,可能在其他网站上的用户。请使用安全的密码方法。

书籍:

Handbook of Applied Cryptography由Alfred J.梅内塞斯,保罗C.面包车Oorschot和Scott A.范斯通,看到免费下载

Cryptography Engineering由尼尔斯·弗格森,布鲁斯和河野忠义

Applied Cryptography由布鲁斯

Cryptography Decrypted by H. X. Mel和Doris M. Baker(我真的很喜欢)

+0

非常感谢你,我现在有一个想法,我可以开始! –

+0

非常感谢! –