![]() |
![]() ![]() ![]() ![]() |
|
Шифрование BitmapDelphi , Синтаксис , ШифрованиеШифрование Bitmap
Оформил: DeeCo
procedure EncryptBMP(const BMP: TBitmap; Key: Integer);
var
BytesPorScan: Integer;
w, h: integer;
p: pByteArray;
begin
try
BytesPorScan := Abs(Integer(BMP.ScanLine[1]) -
Integer(BMP.ScanLine[0]));
except
raise Exception.Create('Error');
end;
RandSeed := Key;
for h := 0 to BMP.Height - 1 do
begin
P := BMP.ScanLine[h];
for w := 0 to BytesPorScan - 1 do
P^[w] := P^[w] xor Random(256);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EncryptBMP(Image1.Picture.Bitmap, 623);
Image1.Refresh;
end;
{ Call the function again to decrypt it }
{ Zum Entschlusseln die Funktion nochmals aufrufen }
Программный код на Delphi, который шифрует битмап-изображение с помощью простого алгоритма XOR с рандомной ключом. Шифрование происходит путем перебора каждого пикселя в изображении и выполнения исключительного операции OR между оригинальным значением пикселя и случайным байтом, генерируемым функцией Содержание кода:
Вторая часть кода определяет обработчик события клика кнопки, который вызывает процедуру Обратите внимание, что это очень простой и не безопасный алгоритм шифрования. В практике вы бы хотели использовать более robust алгоритм шифрования,such as AES or RSA, и следовать лучшим практикам для безопасного кодирования и хранения данных. Некоторые предложения по улучшению:
Процедура EncryptBMP шифрует указанный битмап-образец зашифровыванием каждого байта с помощью функции Random и ключом, переданным в процедуру. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Шифрование ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||