![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
iiiBird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
Собственно сабж... Нашел иходник unit алгоритма blowfish... теперь хочу сделать программу для шифрования текста с этим алгоритмом... т.е. в форме 2 memo (input и output), edit для ключа и 2 кнопки (зашифр. и расшифр.)... только никак не могу разобраться в коде алгоритма... какую функцию где использовать... помогите пожалуйста...
p.s. Сам готовый алгоритм прикрепил к посту... Присоединённый файл ( Кол-во скачиваний: 14 ) ![]() |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Глубоко не лазил, но - не особо удобный модуль. Я бы даже сказал - особо неудобный, даже если вдруг он действительно соответствует спецификации Blowfish.
Главное, что непонятно - как задать начальный вектор (IV в составе TCryptCtx). Вкратце, насколько я понял алгоритм: 1. вызвать bfKeySetup, передав во второй параметр - требуемый пароль, а в третий - его длину в байтах (длина в байтах = длина строки * размер символа). В первом параметре возвращается ключ шифрования/дешифровки. 2. В экземпляр TCryptCtx копируем полученный TBlowFishKey и какими-либо значениями инициализируем IV и вызываем bfResetContext. 3. Вызываем bfEncryptCBC, причем результат возвращается в том же параметре, что и исходные данные, т.е. в pBuffer. Для дешифровки производим все те же мероприятия, только вместо Encrypt вызываем Decrypt. Важно! Для правильной дешифровки нужно, чтобы CryptCtx на момент начала дешифровки был полностью идентичен тому, который использовался при шифровании. Резюме: Советую выкинуть этот модуль и воспользоваться (к примеру) DCP_Crypt |
|||
|
||||
iiiBird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
Скачал DCP_crypt... а как ее интегрировать в форму?
когда пишу на кнопку зашифровки
выдает ошибки [DCC Error] Unit2.pas(79): E2003 Undeclared identifier: 'InitStr' [DCC Error] Unit2.pas(79): E2029 '.' expected but ')' found [DCC Error] Unit2.pas(80): E2003 Undeclared identifier: 'EncryptString' [DCC Fatal Error] Project1.dpr(12): F2063 Could not compile used unit 'Unit2.pas' |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
1. Компоненты в палитру установились?
2. На форме лежат DCP_blowfish и DCP_SHA256? |
|||
|
||||
iiiBird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
1. не понял вопроса 2. да. pas файлы в проект закинул если ничего не использовать в форме из pas файлов кроме своего unit то все компилируется и форма запускается |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
как установить компоненты в Delphi.
Читать вдумчиво, особенно второй пост и четко следовать инструкциям. Добавлено через 3 минуты и 33 секунды После этого там, где лежат всякие Memo, батоны (это закладка "Стандартные") появится еще 2 закладки, которые будут начинаться с DCP_. вот оттуда и кидаем на форму указанные ранее компоненты. |
|||
|
||||
iiiBird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
А у меня Embarcadero RAD Studio 2010.. там чет все не так как написано в посте... а там как подключить? |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
iiiBird |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
ну вот я нашел в папке DCP_crypt dpk файл.. (DCPdelphi6.dpk) ну открыл его.. он не компилится
где эта палитра в D2010? |
||||
|
|||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Ну а с какого перепугу DCPdelphi6.dpk? Если нужно брать последнюю версию, то есть DCPdelphi2009.dpk? Прямо так и пишет - "не компилюсь"? До установки пакета там ничего не будет из интересующего в настоящее время. Я же просил - по пунктам, ничего не пропуская. После Compile нужно сделать самое главное - Install. А вообще - палитра это то, откуда ты бросал на форму кнопку и Мемо. Вот примерно оттуда и нужно бросить на форму DCP_Blowfish. |
|||
|
||||
iiiBird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
океей) скачал другой DCP_Cpypt. не знал что версия старая) компиляция прошла успешно. а где кнопка Install?
|
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
iiiBird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 13.5.2012 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "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. |