Javascript 在react native中加密SD卡中的视频文件

Javascript 在react native中加密SD卡中的视频文件,javascript,android,react-native,encryption,react-native-android,Javascript,Android,React Native,Encryption,React Native Android,我能够使用AES加密成功地加密和解密视频。它适用于较小的视频,而对于较大的文件,它为我们提供了内存溢出例外。有没有更好的方法来保护视频文件,只有我的应用程序才能访问它。 我正在使用这个库“节点锻造” Netflix和Amazon prime等视频流应用程序如何在本地保护视频,而这些视频只能通过它们的应用程序访问。如果他们正在解密整个文件,这个过程怎么会这么快 我只是想知道我们是否可以在转换为base-64时损坏文件并消除损坏 编辑: 这是一个通过SD卡安全访问视频的电子学习应用程序。这些视频应该

我能够使用AES加密成功地加密和解密视频。它适用于较小的视频,而对于较大的文件,它为我们提供了内存溢出例外。有没有更好的方法来保护视频文件,只有我的应用程序才能访问它。 我正在使用这个库“节点锻造”

Netflix和Amazon prime等视频流应用程序如何在本地保护视频,而这些视频只能通过它们的应用程序访问。如果他们正在解密整个文件,这个过程怎么会这么快

我只是想知道我们是否可以在转换为base-64时损坏文件并消除损坏

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

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

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

更新:


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

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

您使用什么模式对视频进行加密?CBC?您好,您可以共享用于加密文件的代码吗?@Afshin逐流加密和解密正在工作。使用了编码格式在base64中。但是我找不到一个能帮助我一个一个播放数据流的播放器。你知道我该如何继续吗?