在react native中加密SD-CARD中的视频文件



我能够使用AES加密成功地加密和解密视频。它适用于较小的视频,而对于较大的文件,它给了我们内存不足/溢出的异常。有没有更好的方法来保护只有我的应用程序才能访问的视频文件。我正在使用这个库"节点伪造">

Netflix和亚马逊prime等视频流媒体应用程序如何在本地保护视频,而这些视频只能通过其应用程序访问。如果他们正在解密整个文件,这个过程怎么这么快?

我只是想知道我们是否可以在转换到base-64时破坏文件并进行反破坏?

编辑:这是一个电子学习应用程序,可以通过SD卡安全地访问视频。这些视频应该是安全的,只能在我们的应用程序中播放。

您需要根据自己的需求设计安全措施,这是一个非常复杂的过程,需要考虑很多细节。一方面你需要为你的应用程序设计一个合适的协议,另一方面你应该努力使它安全。

例如,作为设计的适用性,您需要考虑如何播放视频或您有多少磁盘/内存。在像Netflix这样在下载时播放视频的情况下,他们可能会使用加密算法的流媒体模式。但正如我所说,在不了解应用程序的完整设计的情况下,暗示加密方法在某种程度上是不道德的。

更新:

如果您需要简单的加密,我建议您使用流式传输方法(如CTR)。在这种情况下,您可以即时解密内容,而不是先完全解密文件。但你需要将这些内容输入到你的播放器中。如果你没有编写自己的播放器,这可能是一个小问题。我曾经通过挂接文件读/写API实现过这一点,并做了您需要的类似事情,所以这是可能的。

正如您所说,您已经成功地用AES加密了较小的视频文件,我建议您将所有文件分解为小块(例如512kb/1Mb部分file1.part1,甚至提供自定义名称,以便您的应用程序只知道哪一个是第1,2部分,依此类推),然后对每个文件进行加密。在解密过程中,一个接一个地解密,以获得整个文件,或者如果你可以创建自定义播放器,可以随时进行解密。

最新更新