![]() |
|
|
#1
|
||||
|
||||
|
Как можно реализовать чтоб:
были файлы(зашифрованые) допустим в уфт8 и как сделать чтоб их можно было открыть чрез программу ? |
|
#2
|
||||
|
||||
|
Насколько я знаю это не шиф, а просто представление кодировки Unicode
http://ru.wikipedia.org/wiki/UTF-8 |
|
#3
|
||||
|
||||
|
я знаю что не шифр, я же говорю "например"
|
|
#4
|
|||
|
|||
|
как-как. При открытии файла сначала его дешифровывать, а потом уже читать. Например, у тебя есть функции открытия и сохранения файлов и алгоритм шифрования/дешифрования. Делаем так:
--- Сохранение. 1. Сохраняем данные в поток в памяти. 2. Натравливаем на этот поток процедуру шифрования. 3. Копируем зашифрованные данные в поток, сохраняющий данные на диск (TFileStrteam). --- Открытие. Ну тут просто в обратном порядке. 1. Читаем из файла в поток. 2. Копируем в поток в памяти 3. Дешифруем 4. Читаем дешифрованные данные из потока в памяти. |
|
#5
|
||||
|
||||
|
а можно некоторые примеры (delphi не оч хорошо знаю)
|
|
#6
|
||||
|
||||
|
Цитата:
Думаешь все вот так сидели и ждали готовых исходников с форума? Книги зачем? Чтобы на полке пылились? |
|
#7
|
|||
|
|||
|
Ну вот пример (только сохранение, бо как лениво очень
)Код:
const
Data = 'This is data string';
var
B : Byte;
SaveStream : TMemoryStream;
DiskStream : TFileStream;
begin
SaveStream := TMemoryStream.Create;
// Тут пишем данные...
SaveStream.WriteBuffer(Data[1],Length(Data));
SaveStream.Seek(0,0);
DiskStream := TFileStream.Create('myfile.dat',fmCreate);
While SaveStream.Position < SaveStream.Size Do
Begin
SaveStream.ReadBuffer(B,1); // читаем
B := B XOR $54; // кодируем
DiskStream.WriteBuffer(B,1); // сохраняем на диск
End;
DiskStream.Free;
SaveStream.Free;
end; |
|
#8
|
||||
|
||||
|
можно ссылочку про нормальный FAQ о работе с потоками
|