加密JPG图像的方法(50分)

  • 主题发起人 主题发起人 zxq3034
  • 开始时间 开始时间
Z

zxq3034

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能给小弟一个加密JPG图像的方法呀!只要能看不出这张图片的内容就可以了,先谢谢了!
 
很简单。你要是让人连这是一张图片都不知道。就用AES等算法加密整个文件。如果还想当一个图片能打开。你就把文件头后面的数据加密就成了。复杂算法网上有的是。文件头大小和不同的文件不一样。你要查一下资料
 
你可以把这个图片文件内的几个字节替换成别的字节,然后别人就打不开了,自己要是想打开,就把他替换过来不就可以了。
 
你试试看这样的方式,我刚测试通过了的。
var ms1,ms2:TMemoryStream;
i:Int64;
d1:byte;
begin
// Image1.Picture.Graphic.LoadFromFile('c:/1.jpg');
ms1:=TMemoryStream.Create;
ms2:=TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(ms1);
//加密,
ms1.Position:=0;
ms2.Position:=0;
i:=0;
repeat
Inc(i);
ms1.Read(d1,1);
d1:=d1 xor 123;
ms2.Write(d1,1);
until i=ms1.Size;

//还原
ms1.Position:=0;
ms2.Position:=0;
i:=0;
repeat
Inc(i);
ms2.Read(d1,1);
d1:=d1 xor 123;
ms1.Write(d1,1);
until i=ms2.Size;
i :=ms2.Size;
ms1.Position:=0;
image2.Picture.Graphic.LoadFromStream(ms1);
 
不好意思这么长时间才散分
 
后退
顶部