![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Шифрование 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 |