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. 存儲MySQL的密碼哈希
- 3. 存儲密碼哈希 - VARCHAR VS VARBINARY
- 4. 哈希表密鑰生成
- 5. 只有當密碼存在時才存儲密碼哈希值
- 6. 如何安全地存儲沒有哈希的密碼?
- 7. IntelliJ IDEA如何生成哈希碼?
- 8. 如何在哈希中存儲哈希哈希?
- 9. android無效密鑰哈希。密鑰哈希不匹配任何存儲的密鑰哈希
- 10. 在數據庫中存儲密碼哈希的未加密鹽
- 11. Erlang哈希樹
- 12. CakePHP哈希密碼
- 13. Windows哈希密碼
- 14. 如何從C#中的字節數組生成哈希碼?
- 15. Sql - 批量加密哈希生成
- 16. 加密哈希密碼?
- 17. 用於密碼存儲的PHP中最慢的哈希函數?
- 18. ASP.NET的密碼哈希和密碼鹽
- 19. 驗證由python passlib生成的密碼哈希
- 20. 在java中生成類似openssl passwd的密碼哈希值-1
- 21. 使用PHPass生成相同的密碼哈希值
- 22. 在C中生成Unix風格的MD5密碼哈希#
- 23. 最快的哈希碼生成器.NET
- 24. 生成對象的哈希代碼
- 25. 生成值範圍的哈希碼
- 26. concrete5創建與存儲值相當的密碼哈希值
- 27. 密碼散列,鹽值和哈希值的存儲
- 28. 服務層或存儲庫中的密碼哈希等?
- 29. 將ASP.NET成員密碼從加密轉換爲哈希
- 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