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