gpt4 book ai didi

apache-flex - 在 Adob​​e AIR 中加密 Assets (视频文件)

转载 作者:行者123 更新时间:2023-11-28 21:42:41 25 4
gpt4 key购买 nike

我正在尝试在 Adob​​e AIR 中创建视频播放器。我想加密视频文件,以便它们不能在播放器之外共享。我不想跳过重重障碍来创建一个坚如磐石的系统,而是一些简单的东西,它只会阻止 90-95% 的用户共享内容。

我在 File Protection in Adobe AIR (Flex) 上回答了一个关于 SO 的相关问题

但由于视频文件大小肯定会超过 10 MB,因此上述方法似乎不是解决方案。

有许多加密文本字符串的解决方案,但我还没有找到任何加密文件的解决方案。任何帮助或指点将不胜感激。

非常感谢。

更新:我们正在尝试通过以下方式实现这一目标:

  1. 加密/打乱视频文件的前 50 个二进制字符并存储在硬盘上。这使得文件无法播放。
  2. 在运行时解密前 50 个字符以获取原始文件并将其复制到硬盘驱动器上的临时文件夹中。
  3. 退出时,删除解密文件并清空临时文件夹。

这解决了我们的大部分问题。它不允许通过简单的复制和粘贴进行共享。是一个简单的解决方案,尽管可能不是很优雅。

我们现在面临的问题是临时文件夹没有清空。该文件进入回收站,可以从那里轻松恢复!

最佳答案

我为 DVD 应用程序解决了这个问题,该应用程序加密 DVD 中的所有 Assets 并在解密它的 AIR 应用程序内执行 HTTP 服务器。

它的工作方式是这样的:

1 - 图像、视频或 Assets 被加密并保存在任何地方,在我们的例子中是带有主 key 的 DVD Assets 文件夹。

2 - Air 应用程序包含一个非常简单的 HTTP 服务器,该服务器读取文件对其进行解密,然后使用简单的 Flash 视频播放器或使用类似 <img src="localhost:5050/assetcode.jpg"> 的标签仅将其发送到同一个 Air 应用程序。

air 应用程序中用于提供文件的代码如下:

import com.hurlant.crypto.prng.ARC4;
import com.hurlant.util.Hex;
import com.hurlant.crypto.Crypto;
import com.hurlant.crypto.symmetric.ICipher;

var key:ByteArray = Hex.toArray(Hex.fromString("masterkey"));
var rc4:ARC4 = new ARC4(key);

var fs:FileStream = new FileStream();
fs.open( content, FileMode.READ );
var ba:ByteArray = new ByteArray();


fs.readBytes( ba, 0, fs.bytesAvailable );
ba.position = 0;
fs.close();



rc4.decrypt(ba);
//cipher.decrypt(ba);

innerSendHTML(s, ext2mime[content.extension], ba );

ba.length = 0;

我们使用 RC4 算法,因为它在我们的测试中速度更快。

对于 HTTP 服务器,我们使用了 Flash Camp 2010 中的示例 http 应用程序,您可以在谷歌中找到它。

问候

--

www.imaginacolombia.com

关于apache-flex - 在 Adob​​e AIR 中加密 Assets (视频文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com