0

我正在尝试复制以下 Python 代码段的功能:

from passlib.hash import sha512_crypt
sha512_crypt.encrypt(password, rounds=5000)

但我不确定如何使用 Erlang 来做到这一点。

4

3 回答 3

1

passlib中有三种密钥派生(也称为高级密码散列)算法。其中至少有两个作为 erlang 项目存在(但不是 sha512_crypt,尽管您可以自己编写一个(不要!!)):

只是不要想出自己的密码派生功能的化身。使用现有的和经过验证的东西。Erlang-pbkdf2 来自 CouchDB 代码库,它增加了一些可信度。

于 2014-01-10T11:22:20.817 回答
1

免责声明:我不是加密专家。

我认为 CouchDB 的密码散列功能已经足够好了,因为它是一个大型开源项目,并且很多人都已经看到了它......所以我在我的项目中使用了它。它很容易从 CouchDB 中提取(产生大约 50 行代码),并且许可可以让您在自己的项目中使用比特。看看 couch_passwords:pbkdf2/3

https://github.com/apache/couchdb/blob/master/src/couchdb/couch_passwords.erl#L53

于 2014-01-01T08:51:30.683 回答
0

scutil中有相当数量的加密货币。

相反,我通常只os:cmd()使用标准加密工具,因为加密工具需要经过很好的验证。

于 2014-01-09T01:47:27.417 回答