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

非常感謝! –