Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интегрировать алгоритм blowfish в форму 
:(
    Опции темы
iiiBird
Дата 15.5.2012, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



Собственно сабж... Нашел иходник unit алгоритма blowfish... теперь хочу сделать программу для шифрования текста с этим алгоритмом... т.е. в форме 2 memo (input и output), edit для ключа и 2 кнопки (зашифр. и расшифр.)... только никак не могу разобраться в коде алгоритма... какую функцию где использовать... помогите пожалуйста... 
p.s. Сам готовый алгоритм прикрепил к посту...

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  BlowFishUnit.zip 10,47 Kb
PM MAIL   Вверх
kami
Дата 15.5.2012, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Глубоко не лазил, но - не особо удобный модуль. Я бы даже сказал - особо неудобный, даже если вдруг он действительно соответствует спецификации Blowfish.
Главное, что непонятно - как задать начальный вектор (IV в составе TCryptCtx).

Вкратце, насколько я понял алгоритм:
1. вызвать bfKeySetup, передав во второй параметр - требуемый пароль, а в третий - его длину в байтах (длина в байтах = длина строки * размер символа). В первом параметре возвращается ключ шифрования/дешифровки.
2. В экземпляр TCryptCtx копируем полученный TBlowFishKey и какими-либо значениями инициализируем IV и вызываем bfResetContext.
3. Вызываем bfEncryptCBC, причем результат возвращается в том же параметре, что и исходные данные, т.е. в pBuffer.

Для дешифровки производим все те же мероприятия, только вместо Encrypt вызываем Decrypt.
Важно! Для правильной дешифровки нужно, чтобы CryptCtx на момент начала дешифровки был полностью идентичен тому, который использовался при шифровании.

Резюме:
Советую выкинуть этот модуль и воспользоваться (к примеру) DCP_Crypt
PM MAIL WWW   Вверх
iiiBird
Дата 17.5.2012, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



Скачал DCP_crypt... а как ее интегрировать в форму? 
когда пишу на кнопку зашифровки
Код

DCPblowfish.InitStr('пароль', DCPsha256);
Memo2.Text:=DCP_blowfish.EncryptString(Memo1.Text);


выдает ошибки 
[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'
PM MAIL   Вверх
kami
Дата 17.5.2012, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



1. Компоненты в палитру установились?
2. На форме лежат DCP_blowfish и DCP_SHA256?
PM MAIL WWW   Вверх
iiiBird
Дата 17.5.2012, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



Цитата(kami @ 17.5.2012,  14:08)
1. Компоненты в палитру установились?
2. На форме лежат DCP_blowfish и DCP_SHA256?

1. не понял вопроса
2. да. pas файлы в проект закинул
если ничего не использовать в форме из pas файлов кроме своего unit то все компилируется и форма запускается
PM MAIL   Вверх
kami
Дата 17.5.2012, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



как установить компоненты в Delphi.
Читать вдумчиво, особенно второй пост и четко следовать инструкциям.

Добавлено через 3 минуты и 33 секунды
После этого там, где лежат всякие Memo, батоны (это закладка "Стандартные") появится еще 2 закладки, которые будут начинаться с DCP_.
вот оттуда и кидаем на форму указанные ранее компоненты.
PM MAIL WWW   Вверх
iiiBird
Дата 17.5.2012, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



Цитата(kami @ 17.5.2012,  14:30)
как установить компоненты в Delphi.
Читать вдумчиво, особенно второй пост и четко следовать инструкциям.

Добавлено @ 14:34
После этого там, где лежат всякие Memo, батоны (это закладка "Стандартные") появится еще 2 закладки, которые будут начинаться с DCP_.
вот оттуда и кидаем на форму указанные ранее компоненты.

А у меня Embarcadero RAD Studio 2010.. там чет все не так как написано в посте... а там как подключить?
PM MAIL   Вверх
kami
Дата 17.5.2012, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(iiiBird @  17.5.2012,  15:10 Найти цитируемый пост)
там чет все не так как написано в посте

У меня тоже D2010, но там почти все так, как описано.
Что конкретно вызвало затруднения? По пунктам из поста где "все не так" smile
PM MAIL WWW   Вверх
iiiBird
Дата 17.5.2012, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



Цитата(kami @ 17.5.2012,  15:14)
Цитата(iiiBird @  17.5.2012,  15:10 Найти цитируемый пост)
там чет все не так как написано в посте

У меня тоже D2010, но там почти все так, как описано.
Что конкретно вызвало затруднения? По пунктам из поста где "все не так" smile

ну вот я нашел в папке DCP_crypt dpk файл.. (DCPdelphi6.dpk) ну открыл его.. он не компилится

Цитата

Лезем в палитру компонентов, находим установленный компонент. Где? Обычно или пакет создаёт свою закладку в палитре компонентов, или компонент устанавливается на закладку Samples, изредка может оказаться на любой закладке - прийдётся поискать. Закрываем проект с пакетом. Делаем новый проект, ставим компонент на форму, пытаемся компилдлировать


где эта палитра в D2010?
PM MAIL   Вверх
kami
Дата 17.5.2012, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(iiiBird @  17.5.2012,  15:17 Найти цитируемый пост)
DCPdelphi6.dpk

Ну а с какого перепугу DCPdelphi6.dpk? Если нужно брать последнюю версию, то есть DCPdelphi2009.dpk?
Цитата(iiiBird @  17.5.2012,  15:17 Найти цитируемый пост)
он не компилится

Прямо так и пишет - "не компилюсь"?

Цитата(iiiBird @  17.5.2012,  15:17 Найти цитируемый пост)
где эта палитра в D2010?

До установки пакета там ничего не будет из интересующего в настоящее время. Я же просил - по пунктам, ничего не пропуская. После Compile нужно сделать самое главное - Install.
А вообще - палитра это то, откуда ты бросал на форму кнопку и Мемо. Вот примерно оттуда и нужно бросить на форму DCP_Blowfish.

PM MAIL WWW   Вверх
iiiBird
Дата 17.5.2012, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



океей) скачал другой DCP_Cpypt. не знал что версия старая) компиляция прошла успешно. а где кнопка Install?
PM MAIL   Вверх
kami
Дата 17.5.2012, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Ctrl+Alt+F11, откроется ProjectManager. На DCPDelphi2009.bpl правой кнопкой - пункт меню "Install".

Добавлено через 9 минут и 14 секунд
Цитата(iiiBird @  17.5.2012,  15:34 Найти цитируемый пост)
не знал что версия старая) 

Это не версия старая, а dpk для Delphi версии 6.
PM MAIL WWW   Вверх
iiiBird
Дата 17.5.2012, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.5.2012

Репутация: нет
Всего: нет



Цитата(kami @  17.5.2012,  15:37 Найти цитируемый пост)
Это не версия старая, а dpk для Delphi версии 6. 

ну в моей скаченной версии DCP_crypt не было 2009/2010... все.. спасибо большое... сделал что хотел)))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0834 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.