Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Шифрование -- чем?


Страницы:   1 2

Человек ©   (2011-10-11 19:12:00) 

Никогда раньше не сталкивался с шифрованием.
Возникла задача: шифровать в программе на Delphi строку, а затем ее расшифровывать на сервере в PHP (и наоборот, шифровать из PHP, а расшифровывать на Delphi). По любому надежному алгоритму.

Какие библиотеки использовать, чтобы работало и там и там? Буду особенно признателен за примеры.


Человек   (2011-11-27 11:55:00) [1]

Удалено модератором
Примечание: Обсуждения модерирования


Человек   (2011-11-27 11:55:00) [2]

В общем, проблема в том, что резульатат шифрования строки с помощью TurboPower LockBox по любому алгоритму с любыми параметрами не совпадает с результатом шифрования на PHP с использованием этого же алгоритма с этими же параметрами. Хотя, теоретически, должен.
Куда копать -- не знаю, отладить алгоритм шифрования возможным не представляется.


Человек   (2011-11-27 06:37:00) [3]

Итак, решил я использовать известный TurboPower LockBox.
Поставил последнюю версию отсюда: http://sourceforge.net/projects/tplockbox/
Скомпилировал их демку. Все в порядке, нормально кодирует-раскодирует любым алгоритмом.
Затем решил проверить возможность кодирования/раскодирования этого в PHP. Сначала сам написал пару функций, но вместо раскодирования получал кракозябры. Решив, что, возможно, что-то делаю неправильно, взял первую попавшуюся онлайн-тулзу для раскодирования и проверил на ней: http://www.tools4noobs.com/online_tools/decrypt/.Так вот, раскодирование строки, зашифрованной LockBox не работает ни для какого алгоритма ни в одном режиме. Поулчаются кракозябры.

Пожалуйста, объясните, что я делаю не так. И у кого проблема в шифровании: в TP LockBox, в PHP или во мне.


DiamondShark   (2011-10-22 12:46:00) [4]

Удалено модератором


Eraser   (2011-10-13 18:59:00) [5]

> [17] Человек   (12.10.11 17:58)

там же примеры есть. по крайней мере раньше были, сейчас не проверял. очень просто в использовании.


Cobalt   (2011-10-13 10:06:00) [6]

Кейлоггер актуальнее ;-)


plr   (2011-10-12 18:45:00) [7]

Добавлю свои 5 копеек про HTTPS, оно конечно решает вопросы при снифе в сети между приложением и сервером. Но при использовании, например, http://www.ieinspector.com/мы видим весь трафик, что шлёт приложение.

Проверял на многих приложениях - прекрасный man in the middle.


Dennis I. Komarov   (2011-10-12 18:09:00) [8]

Любое создание программ использующих СКЗИ требует обязательного лицензирования. За такое дело могут не кисло погладить по голове, если кончено сочтут Вас достойными, чтобы обратить свое внимание...


Человек   (2011-10-12 17:58:00) [9]


Rouse_ ©   (12.10.11 10:27) [15]
> Ну например вот эту: http://www.cityinthesky.co.uk/opensource/DCPcryptт.
> к. все алгоритмы стандартизированы подойдет любая сторонняя
> реализация.

К сожалению, именно эту и пытался использовать, перед тем. как задать вопрос. Судя по всему, она для ранних, не-юникодных версий Delphi, т.к. их же демо после перекомпиляции не работает (строка, зашифрованная на Delphi, не расшифровывается на PHP, и наоборот).


> Eraser ©   (12.10.11 15:45) [16]


> Можно еще глянуть http://sourceforge.net/projects/tplockbox/
> опять развивается.

Пытался использовать и его, но он показался мне совсем непонятным. В деме куча непонятного мне кода, вызова кучи функций с кучей переменных. А хотелось бы просто чего-то вроде функций Decode(строка, ключ) и Encodе(строка, ключ). Или я многого хочу и надо разбираться и вникать во все эти алгоритмы?


Eraser   (2011-10-12 15:45:00) [10]

> [7] Человек   (11.10.11 23:17)


> А если все же шифровать вручную, какую библиотеку Delphi
> лучше использовать?

MS Crypto API. Правда там скорее всего придется с ключами возиться. Можно еще глянуть http://sourceforge.net/projects/tplockbox/опять развивается.


Rouse_   (2011-10-12 10:27:00) [11]


> А если все же шифровать вручную, какую библиотеку Delphi
> лучше использовать? Цель -- полная совместимость с PHP-шифрованием.

Ну например вот эту: http://www.cityinthesky.co.uk/opensource/DCPcrypt
т.к. все алгоритмы стандартизированы подойдет любая сторонняя реализация.

> И еще, хранить ключ в виде строковой константы в программе
> -- безопасно?

Если используется асинхронные алгоритмы - безопасно (только длина должна быть достаточно большая, желательно от 2048 и выше)


Ega23   (2011-10-12 09:07:00) [12]


> А то.


Когда я его "щупал" этого не было. Растут.


Омлет   (2011-10-12 08:44:00) [13]

Плюс crypt() и Mcrypt.


Омлет   (2011-10-12 08:41:00) [14]

Удалено модератором


Омлет   (2011-10-12 08:41:00) [15]

> Ega23 ©   (11.10.11 23:59) [9]
> В PHP разве встроены функции симметричного и асимметричного
> шифрования?


А то. http://pear.php.net/packages.php?catpid=6&catname=Encryption


Германн   (2011-10-12 00:36:00) [16]


> снифферы - смотря какой сниффер, запущенный локально и написанный
> под заказ - данные сможет снять.

<offtop>
Выглядит как предложение дать ТЗ и озвучить гонорар. :)
</offtop>


Ega23   (2011-10-11 23:59:00) [17]


> И еще, хранить ключ в виде строковой константы в программе
> -- безопасно?


Открытый - вполне безопасно. :)


> Цель -- полная совместимость с PHP-шифрованием.


В PHP разве встроены функции симметричного и асимметричного шифрования?


sniknik   (2011-10-11 23:35:00) [18]

> требуется установка сертификата в систему.
не обязательно, можно просто держать файлы рядом...

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


Человек   (2011-10-11 23:17:00) [19]


> Rouse_ ©   (11.10.11 22:54) [5]

А если все же шифровать вручную, какую библиотеку Delphi лучше использовать? Цель -- полная совместимость с PHP-шифрованием.

И еще, хранить ключ в виде строковой константы в программе -- безопасно?


Человек   (2011-10-11 23:15:00) [20]

Для HTTPS, как я понял, требуется установка сертификата в систему. Это можно делать без прав администратора и незаметно для пользователя?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо