1

Мне нужно знать алгоритм, используемый для генерации хэшей паролей, которые выглядят так: $2a$08$ztQUBr1vx97Rc9MiJVr05.LZWg92jGYkRFEJViHhfZjaWpB0xfgGu

Для меня это выглядит как bcrypt, но когда я хэшировал свой пароль, используя скрипт, они не совпадали. Поэтому я верю, что с паролем делается что-то еще, прежде чем хранить его в базе данных. Это соль? Если так, то, что это?

1 ответ1

3

crypt(3) утверждает, что префикс $2a$ указывает на Blowfish. Крипт OpenBSD (3) предоставляет некоторые дополнительные сведения о формате.

Если у вас есть glibc с поддержкой Blowfish, вы можете просто вызвать crypt() самостоятельно или использовать другую программу, которая делает это. Я нашел makepasswd полезным для этой цели.

Чтобы увидеть детали алгоритма, вы, вероятно, хотите обратиться к фактическому исходному коду. PHP имеет версию crypt со встроенной поддержкой Blowfish, которую можно легко вызвать из интерактивного режима (php -a). Если это не сработает, вы, вероятно, захотите покопаться в источнике ownCloud.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .