Используется ли Bcrypt для хеширования или шифрования?Немного путаницы - PullRequest
19 голосов
/ 27 января 2012

Я читал о bcrypt (перспектива приложения). Думая об использовании его для хранения паролей на моем сайте.

Из того, что я прочитал, можно предположить, что в любом случае:

  • например. 1: Bcrypt - это кроссплатформенная утилита шифрования файлов от bcrypt
  • например. 2: bcrypt - это адаптивный алгоритм хеширования паролей, который использует расписание ключей Blowfish, а не алгоритм симметричного шифрования. от Как безопасно хранить пароль
  • bcrypt - это адаптивная криптографическая хеш-функция для паролей, разработанная Нильсом Провосом и Дэвидом Мазьером на основе шифра Blowfish: из bcrypt wiki

Что такое Bcrypt?

Ответы [ 3 ]

20 голосов
/ 27 января 2012

Это и так:)

В большинстве случаев, когда люди упоминают BCrypt, они говорят о адаптивном алгоритме хеширования , но это также имя не имеющего отношенияутилита шифрования файлов .

Оба основаны на шифре Blowfish.

9 голосов
/ 27 января 2012

Программное обеспечение для шифрования Bcrypt использует алгоритм Blowfish, разработанный Брюсом Шнайером в 1993 году. [1]

Хеш-функция bcrypt - это просто функция хэш .Он не выполняет шифрование, он хэширует.Он основан на шифре Blowfish и считается хорошей вещью, потому что вы можете замедлить его со временем .

Из Википедии:

Это не криптографически значительно сильнее, чем стандартное расписание ключей Blowfish, но количество раундов повторного ввода настраивается;Таким образом, процесс хеширования может быть сделан произвольно медленным, что помогает предотвратить грубые атаки на хеш или соль.

Что касается хранения паролей на вашем сайте, вы должны шифровать пароли, прежде чем хешировать их.

Только после того, как вы зашифруете их с помощью некоторого алгоритма шифрования (например, Blowfish, Rijndael / AES ), если вы будете использовать bcrypt для хеширования зашифрованных паролей и сохранения пароля хэши .

Подробнее о внедрении защиты паролем см. В верхнем ответе на этот вопрос .

3 голосов
/ 31 января 2016

bcrypt - это функция получения ключей для паролей.

Кроме того, разница между хешированием (используемым bcrypt ) и шифрованием простыми словами будет -

1) зашифрованными данными.может быть расшифрован с помощью закрытого ключа.2) Хеширование - это один из способов, который заключается в том, что если вы хэшируете простой текст необратимым, а значит, более безопасным.Единственный способ убедиться - это перефразировать простой текст и сравнить его с ранее хешированными данными на равенство.

...