Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1267277
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-11-05 09:42:18



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后面再加密这个文件才可以。但我在程序中还需要用到这个录象文件,不能马上释放,如果不马上把这个文件加密,程序突然中断,我的录象就相当于没加密了,请问怎么解决。  
  一般的录象加密是怎么做的,程序中是怎么解密并运行的,能给个例子吗  
   
 

创建副本     加密好   覆盖掉原先的.                        
  录像   本身支持流   播放才能   以   流的方式解压.   播放.



[新闻]雅虎将于12月3日关视频直播闭网站Yahoo Live
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
阅读(635) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~