Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2009, 07:29   #11
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Держи шифрование... думаю расшифровку поймёшь из последнего проекта.
Вложения
Тип файла: zip 11.zip (231.0 Кб, 143 просмотров)
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 25.08.2009, 08:56   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

BARNEY, ну, раз Вы такой в этом деле дипломированный специалист, то у меня к Вам вопрос и малюсенькая просьба...

вопрос такой: а где в Вашем примере используется криптоалгоритм AES (как я понял именно этот алогритм требуется автору топика) ?!

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

___________________________________ _________
SergunchikSK, тёзка, а поясните, а почему Вы решили библиотечкой Delphi Encryption Compendium не пользоваться?.. (ну, были же какие-то причины отказаться от этой библиотеки?..)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.08.2009, 10:16   #13
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Serge_Bliznykov
1) Дипломированным специалистом себя в этой области не считаю, ибо есть чему учиться.

Первое сообщение

Подскажите пожалуйста как зашифровать и дешифровать строку с ключом:
Нашел библиотеку wcrypt2. Как можно через нее?

Сам её использую.... 2 примера с исходниками выше....
Вопросы пожелания.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)

Последний раз редактировалось BARNEY; 25.08.2009 в 10:26.
BARNEY вне форума Ответить с цитированием
Старый 25.08.2009, 10:36   #14
SergunchikSK
 
Регистрация: 20.08.2009
Сообщений: 6
По умолчанию

Всем спасибо, правда я только вчера вечером уже сделал.
Я себя совершенно не чувствую в этом деле специалистом.

{получаем контекст криптопровайдера}
Код:
CryptAcquireContext(@hProv, nil, nil, PROV_RSA_AES, CRYPT_VERIFYCONTEXT);

{создаем хеш-объект}
CryptCreateHash(hProv, CALG_SHA, 0, 0, @hash);

{хешируем пароль}
CryptHashData(hash, @password[1], length(password), 0);

{создаем ключ на основании пароля для потокового шифра RC4}
CryptDeriveKey(hProv, CALG_AES_128, hash, 0, @key);

{уничтожаем хеш-объект}
CryptDestroyHash(hash);


{выделяем место для буфера}
    GetMem(data, 1024);
    {шифруем данные}
      login:=password; //данные
       l := Length(login);
       if not CryptEncrypt(key, 0, True, 0, Pointer(login), @l, Length(login)) then
          if GetLastError <> ERROR_MORE_DATA then
                   RaiseLastOSError;
        // Шаг 2: выделили буфер (уже не 512, а ровно, сколько надо)
       Y := Length(login);
      SetLength(login, l);
      // Шаг 3: шифрование
        if not CryptEncrypt(key, 0, True, 0, Pointer(login), @Y, Length(login)) then
               RaiseLastOSError;
        SetLength(login, Y);


    {освобождаем место и закрываем файлы}
    FreeMem(data, 512);
    {освобождаем контекст криптопровайдера}
    edit4.Text:= login;



   // CryptReleaseContext(hProv, 0);
только вопрос выводиться барякозябры, можно как-нибудь перекодировать?

Последний раз редактировалось Stilet; 25.08.2009 в 11:42.
SergunchikSK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование Sanakan Помощь студентам 0 19.04.2009 14:55
шифрование на С# innei Помощь студентам 0 08.04.2009 22:00
шифрование Stanislav Свободное общение 10 04.03.2008 05:09