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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2015, 17:24   #1
kr4kker
 
Регистрация: 13.11.2013
Сообщений: 4
По умолчанию Шифрование методом AES (Delphi)

Здравствуйте.
Нашел в сети приложение, которое выполняет шифрование текста методом AES. Оно работает, шифрует и расшифрует. Интересует такой вопрос: можно ли сделать так, чтобы источником мог быть не только файл, но и непосредственно вводимый в MemoIn текст ? Если такая возможность есть, помогите с ее реализацией. Заранее спасибо.
Вложения
Тип файла: rar programma.rar (353.5 Кб, 88 просмотров)
kr4kker вне форума Ответить с цитированием
Старый 12.02.2015, 19:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. Можно. Опиши переменку типа TStringStream.
Далее создавать так: БлаБла:=TStringStream.Create(MemoIn .Lines.Text);
и БлаБла передавай в EncryptAESStreamECB, как делаешь это в клике Button2
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2015, 21:48   #3
kr4kker
 
Регистрация: 13.11.2013
Сообщений: 4
По умолчанию

Спасибо. Создал еще одну кнопку, для шифрования чисто текста. Поставил все как надо, но все равно не работает, ругается вот на эту строку
Код:
        Dest := TStringStream.Create(DestFile, fmCreate);//Создаем новый файл или переписываем уже имеющийся
Я так понимаю это осталось от процедуры сохранения. Как ее реализовать чисто для вводимого текста? И еще, как сделать чтобы зашифрованный текст отображался в MemoOut? Извиняюсь если вопросы глупые, у нас Delphi плохо преподавали..
Вложения
Тип файла: rar programma1.rar (353.9 Кб, 20 просмотров)
kr4kker вне форума Ответить с цитированием
Старый 12.02.2015, 22:21   #4
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
И еще, как сделать чтобы зашифрованный текст отображался в MemoOut?
Видимо так
Код:
Stream.Position := 0;
MemoOut.Text :=  Stream.ReadString(Stream.Size);
WinCoder вне форума Ответить с цитированием
Старый 12.02.2015, 22:26   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
(DestFile, fmCreate)
Что это? Ты вообще понимаешь что пишешь? Ил итак, на обум абы написано было?
еще раз внимательно прочти что я тебе написал, а потом открой Хелп и прочти подробности.
Цитата:
как сделать чтобы зашифрованный текст отображался в MemoOut?
Код:
БлаБла.Position:=0;
MemoOut.Lines.LoadFromStream(БлаБла);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.02.2015, 22:50   #6
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Или так.
Код:
MemoOut.Lines.Add(Stream.ReadString(Stream.Size));
WinCoder вне форума Ответить с цитированием
Старый 13.02.2015, 00:24   #7
kr4kker
 
Регистрация: 13.11.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что это? Ты вообще понимаешь что пишешь? Ил итак, на обум абы написано было?
еще раз внимательно прочти что я тебе написал, а потом открой Хелп и прочти подробности.
Я понимаю что эти команды значат, но все равно не понятно как тогда реализовать шифровку. Удаление этих строк приводит к ошибке.

Иными словами, чем код для текста будет отличаться от кода для файла? Как я понимаю надо создать новый класс Stream (а то пишет, что он не обозначен) но дальше я даже не знаю что делать.
kr4kker вне форума Ответить с цитированием
Старый 13.02.2015, 07:41   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как я понимаю надо создать новый класс Stream
Не просто Stream. Еще раз посмотри как в твоем коде создается стрим из файла - пройди в хелп почитай о его конструкторе, а потом посмотри какой класс я предлагаю использовать. Опять таки пройди в хелп и почитай о нем. Они все одинаковые в плане того что это стрим, но один открывает файл, а другому передается обычная строка.
Цитата:
TStringStream.Create(AString: string)
TFileStream.Create(const FileName: string; Mode: Word)
Разницу видишь?
Ладно, если ты читать не хочешь хелпы, ну хотя бы читай внимательно что я пишу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.02.2015, 09:58   #9
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Код:
Dest := TStringStream.Create(DestFile, fmCreate);//Создаем новый файл или переписываем уже имеющийся
Какой на фиг файл? Это строковый поток, а ты пытаешься инициализировать его методами инициализации файлового потока. Учись смотреть входные параметры конструктора (процедур, функций). Наведи мышь на слово Create с зажатым Shift, и кликни мышью. Попадёшь в саму процедуру. Смотри какие параметры стоят в скобках. И сравнивай с тем, что ты туда пытаешься запихать.
WinCoder вне форума Ответить с цитированием
Старый 13.02.2015, 15:34   #10
kr4kker
 
Регистрация: 13.11.2013
Сообщений: 4
По умолчанию

Спасибо, буду дальше пробовать..
kr4kker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование данных AES алгоритмом BoRzZoY Общие вопросы Delphi 17 29.04.2014 09:00
OpenSSL AES - шифрование gunsoy C/C++ Сетевое программирование 1 11.04.2014 23:55
Шифрование AES. asmars Общие вопросы C/C++ 3 03.05.2012 16:22
Шифрование AES Samara Помощь студентам 3 29.10.2011 18:10
Шифрование AES SergunchikSK Общие вопросы Delphi 13 25.08.2009 10:36