Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Правильное сохранение зашифрованного файла   Найти похожие ветки 

 
St74   (2005-12-22 18:37) [0]

Уважаемые Гуру!

Недавно наткнулся в данной ветке на тему шифрования данных
http://kladovka.net.ru/delphibase/?action=viewfunc&topic=strcode&id=10090

{ **** UBPFD *********** by kladovka.net.ru ****
>> Шифрование и дешифрование текстов по принципу S-Coder со скрытым ключом

После прменения выполнения функции Encrypt с входным исходным текстом, результат будет иметь символы в диапазоне от 0 - 255 в ASCII таблице, следовательно если вам надо сохранить где либо шифровку, то лучше преобразовать в числовой вид - 16разрядный hex из ASCII таблицы (функция Write)} ->>> так вот такой вопрос:          
                                                                 
Так вот как мне выполнить в моём коде, выше указанное сохранение шифровки?

...
var
 f: TextFile; // файл
 fName: string[80]; // имя файла
 i: integer;
begin
 if not SaveDialog1.Execute then { пользователь закрыл диалог
   щелчком на кнопе Отмена }
   exit;

 fName := SaveDialog1.FileName;
 AssignFile(f, fName);

 rewrite(f); // открыть для добавления

 // запись в файл
 for i := 0 to RxRichEdit2.Lines.Count do // строки нумеруются с нуля
   Writeln(f, RxRichEdit2.Lines[i]);
 try
   CloseFile(f); // закрыть файл
 except
   on EInOutError do
   begin
     ShowMessage("Ошибка записи в фаил." +
       fName);
     exit;
   end;
 end;
 MessageDlg("Зашифрованные данные сохранены в файл ", mtInformation, [mbOk],0);
end;
...

Вот при таком раскладе, сохранение выполняется корректно, но при последующем открытии
и загрузке шифровки в RxRichEdit, и применении функции Decrypt {Дешифрования}
не происходит обратного преобразования в исходный текст.

Приложение ругается так: {Неверное целое значение: "$B"}

Как я думаю что при сохранении шифровки из RxRichEdit2 в фаил, происходить добавление
лишних символов в конце шифровки, т.е пробела.

С Уважением к вам St74! ;-)


 
umbra ©   (2005-12-22 18:55) [1]


>    Writeln(f, RxRichEdit2.Lines[i]);


при выводе в файл Writeln добавляет к каждой строке два символа ($D$A), что может влиять на расшифровку. Пользуйтесь Write


 
St74   (2005-12-22 19:31) [2]

При использовании Write выходит ошибка...
[Error] S_Coder.pas(371): Incompatible types: "String" and "Text"

St74! :(


 
St74   (2005-12-22 20:45) [3]

У кого ещё есть какие предложения! Жду ответа.

St74! ;)


 
umbra ©   (2005-12-22 20:56) [4]

begin

if not SaveDialog1.Execute then { пользователь закрыл диалог
  щелчком на кнопе Отмена }
  exit;

RxRichEdit2.LinesSaveToFile(SaveDialog1.FileName);
MessageDlg("Зашифрованные данные сохранены в файл ", mtInformation, [mbOk],0);

end;


 
St74   (2005-12-23 08:30) [5]

umbra ©   (22.12.05 20:56) [4]

Спасибо, но мне и грузить пришлось с LoadToFile. :)



Страницы: 1 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
3-1127089120
antoxa2005
2005-09-19 04:18
2006.01.15
Подскажите, как подключится т.е. выполнить SQL запрос в БД MySQL


2-1135228892
Alex2
2005-12-22 08:21
2006.01.15
Динамические массивы


2-1135346897
oleggar
2005-12-23 17:08
2006.01.15
filemapping


8-1123533460
Zer0
2005-08-09 00:37
2006.01.15
FMOD 1.7 полностью портированный на дельфу


2-1135532931
Aleks
2005-12-25 20:48
2006.01.15
Есть каталог (папка), необходимо узнать сколько папок находится в