想做一个图像加密的软件,请大侠不吝赐教(200分)

  • 主题发起人 主题发起人 网林
  • 开始时间 开始时间

网林

Unregistered / Unconfirmed
GUEST, unregistred user!
想做一个图像加密的软件,想实现的功能为:
1.支持多种图像文件格式。
2.要有多种加密算法可供用户选择
3.加密信息、密码等要存入图像文件,加密后的文件不能用其他工具打开
和CryptaPix这样的软件差不多吧!
请高手、大侠们赐教

小生先谢了
 
啊?! 图片需要加密吗?
 
看在分数的份上:
跟其他加密没有什么不同,注意要以FILE OF BYTE 方式打开文件。
 
无非是对原图象文件无效数据区进行加密操作,例如在不变更图象数据的地方写上加密算法
然后将该图象文件的头按算法移到安全地方!当用自己的程序打开时先按算法将文件头覆盖到
正确的位置,在按正常方法调入内存即可.
 
对图像文件数据流进行加密罢了。
 
那么,我要想局部加密图像该怎么办呢?
比如:在一个区域打上马赛克,需要时可以用密码还原。
再有,如何读取文件的数据,如何判别无效数据区,我还是不太明白,能不能说详细一点?
 
理论早知道了
给个例子
我也很关心
 
读出每个像素,按照密码进行移位运算,这样用别的软件看不了图像(格式错误)
或看到的不是真正的图像,只有用你的程序才能正确看图.
 
图片的加密与其他的加密尚有什么两样,最主要是算法,,,,
 
我编了一个加密程序 可加密任何类型文件,提供这里
//----------------------------------------------
procedure TForm1.changAllBtnClick(Sender: TObject);
var
f1,f2:File;
buf:byte;
_fSize,cut:integer;
begin
if not(fromEdit.Text='') then
begin
AssignFile(f1,fromEdit.Text);
AssignFile(f2,toEdit.Text);
Reset(f1,1);
ReWrite(f2,1);
_fSize := FileSize(f1);
try
while _fSize》0 do //<font color=green>用“》”代替“大于号”</font>
begin
BlockRead(f1,buf,SizeOf(Buf),cut);
asm //
not buf //取反加密,这里可以改成别的算法
end; //
BlockWrite(f2,buf,cut,cut);
//
dec(_fSize);
end;
finally
CloseFile(f2);
CloseFile(f1);
end;
ShowMessage('O.K.');
end else
showmessage('未指定文件名');
end;
 
如果要求不高,可以只加密头几百个字符,。这样别人就不知道是什么格式了(当然
要把后缀名改变),

否则按一般的文件加密就可以了,一点也不麻烦,因为速度很快。。
 
呵呵,如果想局部加密就难了(想一想jpeg有多少种方法排列图像块)。
个人认为,想局部加密只能是先转化成bmp,把要加密的图块移到别的地方,
转换回原来的格式,然后在加密。方法比较笨,不过应该可行。

听听!
 
自己定义个文件头把
 
如同JPG等压缩格式的算法一样,就是自己制造一种图象格式
 
加完了如何打开阿。。。
 
网林:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部