Есть ли Erlang эквивалентный `passlib` Python?

Я пытаюсь повторить функциональность следующего фрагмента Python:

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

Но я не уверен, как это сделать с Эрлангом.

3 ответа

В passlib есть три алгоритма получения ключей (или расширенное хеширование паролей). По крайней мере, два из них существуют как проекты erlang (но не sha512_crypt, хотя вы могли бы написать один самостоятельно (НЕ!!)):

Только не придумывайте собственное воплощение функции получения пароля. Используйте существующие и проверенные вещи. Erlang-pbkdf2 взят из кодовой базы CouchDB, что добавляет ему достоверности.

Отказ от ответственности: я не эксперт по криптографии.

Я предполагаю, что функция хеширования паролей CouchDB достаточно хороша, поскольку это большой проект с открытым исходным кодом, и многие глазные яблоки видели это... Поэтому я использую это в своих проектах. Из CouchDB очень легко извлечь (в результате получается около 50 строк кода), и лицензия в порядке, если вы берете биты для использования в ваших собственных проектах. Посмотрите на couch_passwords: pbkdf2 / 3

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

В scutil довольно много крипто.

Я обычно просто os:cmd() вместо стандартного инструмента шифрования, потому что инструменты шифрования должны быть очень хорошо проверены.

Другие вопросы по тегам