![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Доброго времени суток!
Пытаюсь зашифровать TMemoryStream с помощью DCPrypt, в TMemoryStream загружается файл (большой ~ 250 Мб). Хотелось бы иметь процедуру/функцию, в которую передается мой экземпляр TMemoryStream и возвращается обратно зашифрованным. 1) Как это лучше сделать (какой выбрать алгоритм, наиболее важна скорость); 2) Как вообще зашифровать TMemoryStream (в примерах идут только файлы); Заранее спасибо. Это сообщение отредактировал(а) Keeper89 - 8.12.2009, 17:55 |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
||||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
kami, а как лучше работать с этим классом? В примерах к исходникам - один способ, в нашей винградовской статье - другой.
|
|||
|
||||
| kami |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Вот честно - кроме как в использовании различных потомков TDCP_Cipher (соответственно - реализующих разные алгоритмы шифрования) разницы в примерах не увидел. Что значит - как лучше работать? Имхо, как будет тебе лучше/понятнее/короче, так и нужно работать. Единственный совет - объявлять все классы для шифрования как TDCP_Cipher, а уже непосредственно при создании указывать конкретного потомка, например
|
||||
|
|||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Я имел ввиду по синтаксису, например ставить блок try или нет, включать хеш-функцию (как в демках) или нет. Сделал так, вроде бы работает (этот фрагмент для дешифрования):
Вот, остался вопрос по аргументам InitStr: 1) с первым понятно - это наша строка для шифрования; 2) а вот во втором какой лучше класс выбрать? Это сообщение отредактировал(а) Keeper89 - 8.12.2009, 23:45 |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Тут вариантов 2 - или ставить, или нет По "классике" скорее всего нужно, но я на практике ни разу не сталкивался с исключениями при Encrypt|Decrypt. Правда, "ручками" отслеживаю наличие самого Cipher-а, его проинициализированность и валидность буферов. Вот при использовании FastZLib да, какая-то комбинация байт вызывала исключение (выловил при сжатии файлов). ХЗ. Я тоже взял sha1. P.S. "я ..." в большей степени читать как imho. Это сообщение отредактировал(а) kami - 9.12.2009, 01:26 |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
kami, спасибо, пока тему прикрою.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |