The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблема php + mcrypt"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблема php + mcrypt"
Сообщение от EvilX emailИскать по авторуВ закладки(??) on 15-Июл-04, 12:28  (MSK)
Господа, я скоро сойду с ума.
И так задача. На стороне клиента шифрую строку по алгоритму 3DES CBC. IV передаю вместе с этой строкой. Передаю это всё php скрипту. Пытаюсь расшифровать и получается полная херня. Не расшифровывает он :( Вернее скрипт отрабатывает, но на выходе полная лажа!

Со стороны клиента: Delphi 7 + TDCP_3des.
Со стороны сервера: PHP 4.3.5 + mcrypt 2.4. Система FreeBSD. собирал из портов.

На стороне сервера скрипт выглядит так:
<Вытаскиваем шифрованую строку и IV>
$p_t = mcrypt_cbc(MCRYPT_3DES,$secret,$c_t,MCRYPT_DECRYPT,$iv);

По идее должен расшифровать. Но вот пример:
На входе шифрованая строка: iSaWEW0UhTlqy/8R+n96xESE2X2uGMugMUeylnHaH0dHXM4TtvP08vxyPVlvnCVFgtjJUfboRW0lDixp

На выходе после "расшифровки":
„ЕВфNмЪ/‡ ЩWВзЪ·ч‰ZІїrUd|у`иНUnOШ;кЦs¦ѓ&Ѕ‡(тејцъРкЂMгл№мЁfF1HкГusя,›ШјЌЏQl "ЋH@=zT~;E(РШ—iрLЎ§УќV;жд°@3Џ/иrYrjу@вє(61Хз/•ҐЛјHFфKшr0Дщ‰ќЇiС°’†—ё

Ключ: c47ed26705753d2200000000
IV(побайтно): 243,80,18,208,72,16,101,126

Попробуйте расшифровать. Если получится - стуканите в асю 194789332 или на мыло leonid(doggy)aml.ru

Что делать? Нифина не понимаю :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Проблема php + mcrypt"
Сообщение от smtp Искать по авторуВ закладки on 15-Июл-04, 13:46  (MSK)
интересно, у меня после расшифровки выходит:

èê¼úà8Ù ðOwî6j»ÛZ™Ç`R!”–µªÄ‰Ìõˆc±©D› ¥n.À#ÛâdÜãÚ¸Âö‡2ÈU³.}8V®p•ûhlÅaa¯5›¼tÈtÁ

зашифрованая строка приведена в виде, в кот. она создаётся на клиенте или в таком, в каком она попадает в PHP скрипт?

iSaWEW0UhTlqy/8R+n96xESE2X2uGMugMUeylnHaH0dHXM4TtvP08vxyPVlvnCVFgtjJUfboRW0lDixp

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Проблема php + mcrypt"
Сообщение от EvilX emailИскать по авторуВ закладки(ok) on 15-Июл-04, 13:53  (MSK)
В скрипт передаётся в шестнадцатиричном виде (типа bin2hex).
Вот эта же строка приходящая в скрипт:
695361574557305568546c71792f38522b6e39367845534532583275474d75674d5565796c6e486148306448584d3454747650303876787950566c766e43564667746a4a5566626f5257306c44697870

Дальше скрипт делает обратное преобразование hex2bin и полученное значение расшифровывает.
После расшифровки должно получиться:
   100000&auth=a4445c73667f047b8147b9a3ef5993c5aa4&action=check

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Проблема php + mcrypt"
Сообщение от ihor Искать по авторуВ закладки on 16-Июл-04, 12:16  (MSK)
пробовал шифровать
>100000&auth=a4445c73667f047b8147b9a3ef5993c5aa4&action=check
на разных платформах и библиотеках.

в качестве зашифрованой строки
>iSaWEW0UhTlqy/8R+n96xESE2X2uGMugMUeylnHaH0dHXM4TtvP08vxyPVlvnCVFgtjJUfboR>W0lDixp
никак не получается.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Проблема php + mcrypt"
Сообщение от EvilX emailИскать по авторуВ закладки(ok) on 16-Июл-04, 12:38  (MSK)
Это получилось после шифрования DCPCrypt v2 в Delphi.
Сейчас эксперементирую с другими библиотеками. Пока что тоже не получается.
Может быть кто-нибудь даст конкретные рекомендации по процессу? Может быть я что-то не понимаю?
Я делаю следующие действия:
1. Криптую строку. Сейчас эксперементирую с пакетом tplockkbox. Может посоветуете какую-нибудь другую библиотеку для Delphi?
2. В запросе передаю её серверу. Ключ серверу известен.
3. Исполняется скрипт:
$c_t = <шифрованая строка>
$td = mcrypt_module_open ('tripledes', '', 'cbc', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
mcrypt_generic_init ($td, $secret, $iv);
$dec = mdecrypt_generic ($td, $c_t);

По идее должна получиться расшифрованая строка с первыми 8-ю символами неверно расшифрованными, из-за того что iv не тот. Но не получается :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Проблема php + mcrypt"
Сообщение от ihor Искать по авторуВ закладки on 16-Июл-04, 16:04  (MSK)
>По идее должна получиться расшифрованая строка с первыми 8-ю символами >неверно расшифрованными,
>из-за того что iv не тот. Но не получается :(

другой iv должен давать полностью другой текст, т.к. все 64-битные блоки в режиме CBC шифруютя с учётом предыдущих блоков:
http://www.argosoftware.ru/Base/DES/Cbc.html

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Проблема php + mcrypt"
Сообщение от EvilX emailИскать по авторуВ закладки(ok) on 19-Июл-04, 08:56  (MSK)
Ок. Использую ECB.
Исходная строка:
11111111&auth=a4445c73667f047b8147b9a3ef5993c5aa4&action=check
Шифруем и отправляем:
/c2OEyHm7tAKmJeMjR9UrVhLLti4xS62cYU7anKEvm70zY3ahxWMKAKMd12rzGw0Cwtj7QqcifViyJzC1SV8sA==
88 символов.

Расшифровываю на сервере:
>±EњкљЮЌµOТRoќ@кcљВ6МЮ˜s‰iKBЉьхsЏДБoШwџ$% с ¶ »ZЪyґg#MХАФЈ/~ѓ9џЪIНўїѓіФуЄb:м 8-(

Пробую на сервер зашифровать исходную строку:
EcЊ#5Шя‰ШT¶‚чП№ќSq†-яУ!7ZњчмZМЇѕ·oXд>Жз+ў )№eС8@e5@kд - 64 символа.
Получается вот так :((( Что делать?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Проблема php + mcrypt"
Сообщение от EvilX emailИскать по авторуВ закладки(ok) on 19-Июл-04, 09:31  (MSK)
>Ок. Использую ECB.
>Исходная строка:
>11111111&auth=a4445c73667f047b8147b9a3ef5993c5aa4&action=check
>Шифруем и отправляем:
>/c2OEyHm7tAKmJeMjR9UrVhLLti4xS62cYU7anKEvm70zY3ahxWMKAKMd12rzGw0Cwtj7QqcifViyJzC1SV8sA==

Ух ты. Оказалось base64 :)


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру