Главная страница
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.041 c
14-1133625717
Nik8.
2005-12-03 19:01
2006.01.15
:))


6-1127662057
Orange
2005-09-25 19:27
2006.01.15
Как работает SSL в InDy?


2-1135581818
ADO
2005-12-26 10:23
2006.01.15
Пытаюсь подключится к MS SQL 2000 через ADO


2-1135587708
mozgan
2005-12-26 12:01
2006.01.15
Как создать программно каталог?


2-1135608198
Кальян
2005-12-26 17:43
2006.01.15
Школьное Рисование