как хранить хешированные пароли, сгенерированные из erlang - PullRequest
3 голосов
/ 01 марта 2012

Я использовал crypto: sha / 1 для хэширования паролей в моем приложении erlang.

Должен ли я хранить двоичные файлы, полученные непосредственно в mnesia, или я должен преобразовать их в шестнадцатеричную строку раньше?

Ответы [ 4 ]

5 голосов
/ 25 апреля 2012

Используйте https://github.com/smarkets/erlang-bcrypt для хеширования, а не SHA1 или MD5.

5 голосов
/ 02 марта 2012

Использование crypto: sha / 1 для хеширования паролей опасно.По крайней мере, есть соль, но желательно, используйте скажем scrypt, bcrypt или pbkdf2 для хранения паролей, как это.Они устойчивы к ряду атак.К сожалению, я не знаю поддержки Erlang для них: /

4 голосов
/ 02 марта 2012

Можно получить Hmac SHA256 hex Digest или MD5 Digest пароля из интерфейсного приложения, создать хэш с помощью метода erlang и затем сохранить этот хэш.

Например, если у меня было веб-приложение, я запрашиваю пароль у пользователей, прямо при создании учетной записи или при входе в систему, я использую javaScript, чтобы создать дайджест этого пароля MD5 и отправить его по проводам (HTTPS). ) вместо фактического пароля. Добравшись до Эрланга, я создаю хэш этого MD5-дайджеста из JavaScript и сохраняю его как пароль пользователя. Таким образом, каждый раз, когда пользователь пытается войти на мою страницу, я выполняю аналогичный процесс, а затем сравниваю результат хэширования его записи с тем, который был сохранен. Узнайте больше о SHA256 HMac Digest, посмотрев на решения этого вопроса: HMAC SHA256 шестнадцатеричный дайджест строки в Erlang, как? и этот: Erlang и JavaScript дайджест MD5 соответствуют

1 голос
/ 02 марта 2012

На самом деле вы храните кортежи (или записи, которые одинаковые) в mnesia, но в полях этих записей вы можете хранить любой термин (включая двоичные файлы). Не обязательно конвертировать их в строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...