Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Альтернатива php crypt для c++


Автор: admsasha 21.4.2014, 15:58
В php есть функция crypt
Код

crypt("123123","$2a$10$LpsNQiOE8uW3TFOUdRckcOrV0yDBrr0.xPRPOPExG80sO6w2T27Nu");

Возращает
Код

$2a$10$LpsNQiOE8uW3TFOUdRckcOrV0yDBrr0.xPRPOPExG80sO6w2T27Nu



Что это за шифрование ? Чем это можно заменить для c++ ?

Проверил все пункты с этой программы. Нет не одного совпадения.
http://qt-apps.org/content/show.php/Qrypto?content=94369

Автор: vinter 21.4.2014, 16:47
возвращает второй аргумент?

Автор: admsasha 21.4.2014, 16:58
Если бы)

Код

crypt("123","123")


выведет "12IbR.gJ8wcpc"

Автор: vinter 21.4.2014, 17:18
admsasha, а чем тебе http://www.php.net/manual/ru/function.crypt.php не угодил?
Цитата

crypt() возвращает хэшированную строку, полученную с помощью стандартного алгоритма UNIX, основанного на DES, или другого алгоритма, имеющегося в системе.

Забавная функция crypt(), которая ничего не шифрует.

Автор: admsasha 22.4.2014, 10:14
vinter, Если верить данному документу, то мой  пример это Blowfish. Но если верить проге, ссылку которую я давал, то это не Blowfish, т.к. даже длины хешей отличаются в раза два. Либо я чего то не понял.

Автор: tzirechnoy 22.4.2014, 13:23
Твой пример -- это blowfish для unix crypt(). В википедии есть список имплементацый ( http://en.wikipedia.org/wiki/Bcrypt ). Правда, там под Си, правда, только от Солар Дезайнера, которая скорее всего соберётся, но новичку в которой очень сложно разобраться. И почему-то не указана оригинальная реализацыя от OpenBSD http://ftp.usa.openbsd.org/pub/OpenBSD/src/lib/libc/crypt/bcrypt.c, у которой есть много минусов, зато которая достаточно очевидна.

Автор: Romikgy 22.4.2014, 14:53
Цитата(admsasha @  21.4.2014,  14:58 Найти цитируемый пост)
$2a$10$LpsNQiOE8uW3TFOUdRckcOrV0yDBrr0.xPRPOPExG80sO6w2T27Nu

насколько помниться это md5+base64

Автор: vinter 22.4.2014, 14:55
Romikgy, у него второй аргумент и результат в посте одинаковые ;) Кроме того, на мой взгляд, не похоже это на base64

Автор: tzirechnoy 22.4.2014, 17:02
vinter, у crypt и должны быть одинаковы второй аргумент и результат.
Точнее, это не всегда так, конечно, но в большынстве вызовов crypt() -- именно так.

Автор: vinter 22.4.2014, 18:10
Цитата(tzirechnoy @  22.4.2014,  18:02 Найти цитируемый пост)
vinter, у crypt и должны быть одинаковы второй аргумент и результат.Точнее, это не всегда так, конечно, но в большынстве вызовов crypt() -- именно так.

а в чём тогда её глубинный смысл?

Автор: tzirechnoy 23.4.2014, 10:51
В проверке, что результат хэшырования пароля (первый аргумент) с параметрами, взятыми из второго, соответствует второму аргументу (сохранённому хэшу пароля).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)