Алгоритм одностороннего шифрования пароля - PullRequest
4 голосов
/ 02 августа 2011

Какой самый безопасный алгоритм одностороннего шифрования для шифрования паролей?

MD5 и SHA (1..512) часто используются, но они рассчитаны на скорость, что плохо для предотвращения атак методом перебора на зашифрованные пароли.

Алгоритм не должен быть слишкомэкзотический, так что его можно использовать с общими языками программирования / средами исполнения, такими как Java, .NET или Python.

Ответы [ 3 ]

8 голосов
/ 02 августа 2011

BCrypt или SCrypt . Зачем? потому что они предназначены для медленной, а не быстрой.

см. Также: Как безопасно хэшировать пароли? на security.stackexchange.com

2 голосов
/ 02 августа 2011

Одно только хеширование не спасет вас, о чем можно прочитать в других сообщениях по теме.

bcrypt и scrypt действительно хорошие варианты, но они не поддерживаются "из коробки" большинством языков.Хотя найти библиотеку, которая их поддерживает, не должно быть проблемой.В дополнение к этим двум, вы можете использовать шифрование на основе пароля (PBE), как описано в PKCS # 5 , в идеале с PBKDF2.Должна быть встроенная поддержка PBE практически везде.

1 голос
/ 02 августа 2011

Люди используют криптографический метод BCrypt, потому что он очень медленный.

См .: http://codahale.com/how-to-safely-store-a-password/ и http://www.openwall.com/crypt/

Также взгляните на этот вопрос: https://security.stackexchange.com/questions/4781/do-any-security-experts-recommend-bcrypt-for-password-storage

SHA512 против Blowfish и Bcrypt

https://security.stackexchange.com/questions/211/how-to-securely-hash-passwords

...