![]() |
|
#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 о работе с потоками
|