Некоторые люди могут зарегистрироваться на моем сайте. Для пароля я использовал это:
$key = "thisisasuperkey";
$key_crypted = md5($key);
$pass = "thisisasuperpassword";
$pass_crypted = crypt($pass, '$2y$12$'.$key_crypted.'$');
Этот код возвращает мне что-то вроде этого:
$2y$12$19ac9c3924183ab897f61uJr.j9b5cQ8NZS3rqMlNNUft9rEmtT5m
Но сейчас я создаю программу на C / C ++. Я хочу, чтобы пользователи вводили в программу свои логин и пароль.
Я тестирую некоторые «примеры» в интернете, но все «Blowfish C» возвращают что-то вроде этого:
d00a0a19e5d7155ae6ac6e..........ce1072f5
У кого-нибудь есть идея, где я могу найти ТО ЖЕ САМОЕ Blowfish в C / C ++ (или то же в PHP)?
крипты (3) это функция, которая появляется в glibc. Тем не менее, реализация крипты на основе bcrypt / blowfish (идентифицируется со строкой $2a$
$2x$
а также $2y$
) не включается в основную реализацию. Некоторые дистрибутивы Linux / BSD добавляют поддержку через патч, так что этого может быть достаточно для вас.
Если нет, вы можете проверить исходный код для реализации крипты OpenBSD, которая будет включать поддержку хеширования bcrypt. Вы можете использовать этот код, чтобы делать то, что вы хотите, без особых проблем.
Других решений пока нет …