3
A
回答
4
可以從前端應用程序獲取密碼的Hmac SHA256 hex Digest
或MD5 Digest
,使用erlang方法創建一個哈希,然後存儲該哈希。
例如,如果我有一個Web應用程序,我向用戶索要密碼,在創建帳戶時或在登錄時,我使用javaScript創建此密碼的MD5摘要,並沿着線路(HTTPS)發送它,而不是實際密碼。在到達Erlang時,我從JavaScript創建了這個MD5摘要的散列並將其存儲爲用戶密碼。所以,每次用戶嘗試登錄我的頁面時,我都會執行類似的過程,然後將其條目的散列輸出與存儲的條目進行比較。瞭解更多關於SHA256 HMac Digest
通過看解決這個問題:HMAC SHA256 hex digest of a string in Erlang, how?,這一個:Erlang and JavaScript MD5 Digest match
1
實際上,你在mnesia中存儲元組(或記錄,它們是相同的),但是在那些記錄的字段中可以存儲任何術語(包括二進制文件)。將它們轉換爲字符串並不是必需的。
5
使用加密:sha/1來散列密碼是危險的。至少有一個鹽,但最好用scrypt,bcrypt或pbkdf2來存儲這樣的密碼。他們很容易受到多次攻擊。不幸的是,我知道沒有Erlang支持這些:/
5
使用https://github.com/smarkets/erlang-bcrypt做散列,而不是SHA1或MD5。
相關問題
- 1. 與哈希存儲密碼
- 2. WTForms存儲錯誤的密碼哈希
- 3. 存儲MySQL的密碼哈希
- 4. Rfc2898DeriveBytes與Sha2哈希密碼生成
- 5. 在PHP中存儲哈希到密碼
- 6. 存儲密碼哈希 - VARCHAR VS VARBINARY
- 7. 安全地存儲密碼哈希django
- 8. 如何爲Facebook生成密鑰哈希?
- 9. 未生成密鑰哈希
- 10. 哈希表密鑰生成
- 11. 只有當密碼存在時才存儲密碼哈希值
- 12. 解密存儲在哈希碼數據庫中的密碼
- 13. 如何生成一個隨機鹽的哈希密碼
- 14. 如何使用sql server生成類似的哈希密碼?
- 15. 如何安全地存儲沒有哈希的密碼?
- 16. IntelliJ IDEA如何生成哈希碼?
- 17. 哈希密碼
- 18. 將密碼鹽與密碼哈希分開存儲?
- 19. 當哈希存儲密碼存儲generateHash方法給arrayIndexOutOfBounds
- 20. 如何在哈希中存儲哈希哈希?
- 21. android無效密鑰哈希。密鑰哈希不匹配任何存儲的密鑰哈希
- 22. 在數據庫中存儲密碼哈希的未加密鹽
- 23. Erlang哈希樹
- 24. 如何從時間戳生成哈希?
- 25. com.facebook.FacebookAuthorizationException:UnknownError:密鑰哈希不匹配任何存儲的密鑰哈希
- 26. 我有密碼哈希成512位,如何將它們存儲在MySQL?
- 27. 如何從PBE密鑰生成器獲取哈希值
- 28. 哈希密碼如何解密?
- 29. 如何解密這個密碼哈希?
- 30. 存儲和從哈希表
因此:我使用前端(例如javascript)執行sha/md5,然後使用erlang:phash2/1,2獲取接收值的散列值。對? – user601836 2012-03-05 10:18:27
是的。實際的密碼永遠不會通過導線傳輸,而是摘要。現在我們創建一個摘要哈希並存儲哈希。從創建帳戶開始,必須完成此操作。因此,無論何時前端出現密碼字段,JavaScript都會創建密碼的SHA1或MD5摘要併發送該密碼,以便Erlang創建一個哈希並將其與所存儲的哈希進行比較(用於登錄)或將其另存爲用戶密碼(用於帳戶創建) – 2012-03-06 04:56:43