|
#1
|
||||
|
||||
О шифровании
Как мне правильно работать с:
BlockRead BlockWrite Читал об этих командах и не очень-то понял. Объясните плизз по подробнее. И ещё, если можно, объясните как сделать на основе этого простейшее шифрование. И ещё как сделать такое: например хочешь зашифровать картинку, добавил один байт и она уже не показывается, типа зашифрованная, а когда захотел, взял и убрал тот самый байт и картинка читается(расшифрована). Плизз объясните... |
#2
|
||||
|
||||
Работа с нетипизированными файлами:
Так как при работе с нетипизированными файлами данные считываются и записываются побайтно, допускается обрабатывать такие файлы, как последовательность байтов, не имеющих строгой внутренней структуры. Для этого применяют процедуры блочного ввода/вывода BlockRead и BlockWrite. Они имеют одинаковый список параметров и отличаются только названиями. procedure BlockWrite(var f:File; var Buf; Count:Integer; var AmtTransferred: Integer); Параметр Buf - это произвольная переменная (напр: B: array [1..1000] of Byte), параметр Сount - число блоков считываемой или записываемой информации. Если при открытии файла размер блока не был указан явно (напр: Reset(F,1); или Rewrite(F,1) , где - F:File), считается, что он равен 128 байтам. Однако нетипизированные файлы применяют, как правило, для побайтной обработки данных, поэтому длину блока задают равной 1 байту, и в параметр Count записывают просто число байтов, которые необходимо считать или записать. Параметр AmtTransferred - необязательный. По окончании выполнения процедуры в нём будет храниться число реально считанных или записанных блоков. Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#3
|
||||
|
||||
Зашифровать картинку:
Написал только для bmp (для остальных форматов сейчас писать лень), Смысл в том, что все байты заголовка bmp-файлы (в котором записана информация о файле) инвертируются (т.е этот байт вычетается из 255). Поэтому никакие программы эго прочитать не смогут (пробовал в Paint, Photoshop и ACDSee). Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#4
|
||||
|
||||
Шифрование
А нельзя никак проще, например всего один байт в конец и всё.
А то это как-то сложновато. |
#5
|
||||
|
||||
Нельзя. Один байт ничего не изменит, а вот 56 байт - изменят
(заголовок как раз и весит 56 байт,по крайней мере в bmp, и проинвертировать их не так уж и сложно). Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |