加解密多媒体文件 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiMultimedia/html/delphi_20061106153805172.html
procedure FileXor(qFileName : String); //加解密函数
var
fd : array[1..1024] of byte;
hf : integer;
br : Integer;
i : Integer;
begin
hf:=fileopen(qFileName,fmOpenReadWrite);
if hf <> -1 then
begin
FileSeek(hf,0,0);
br :=FileRead(hf, fd, 1024);
for i := 1 to br do
begin
fd[i] := (fd[i]) xor (i mod $ff);
end;
FileSeek(hf,0,0);
filewrite(hf,fd, br);
end;
FileClose(hf);
end;
FORM的CREATE事件里:
filexor(‘c:\pin.mpg'); //解密MPG文件
mpp:=cvideo.Create(self); //生成播放MPG控件
try
mpp.ReadFile(‘c:\pin.mpg',0);
finally
filexor(‘c:\pin.mpg'); //重新加密MPG文件
end;
mpp.free;
因为MPG文件正在被使用,所以后来想重新加密MPG文件不成功。只有在MPP.FREE后面再加密这个文件才可以。但我在程序中还需要用到这个录象文件,不能马上释放,如果不马上把这个文件加密,程序突然中断,我的录象就相当于没加密了,请问怎么解决。
一般的录象加密是怎么做的,程序中是怎么解密并运行的,能给个例子吗
创建副本 加密好 覆盖掉原先的.
录像 本身支持流 播放才能 以 流的方式解压. 播放.