【问题标题】:Encrypting the Video file in SD-CARD in react native在本机反应中加密 SD-CARD 中的视频文件
【发布时间】:2019-06-01 22:28:34
【问题描述】:

我能够使用 AES 加密成功地加密和解密视频。它适用于较小的视频,而对于较大的文件,它给了我们内存溢出/溢出异常。有没有更好的方法来保护只有我的应用程序可以访问的视频文件。 我正在使用这个库“node-forge”

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

我只是想知道我们是否可以在转换为 base-64 的同时破坏文件并解除破坏?

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

【问题讨论】:

  • 你用什么模式加密视频?加拿大广播公司?
  • 嗨,你能分享一下你用来加密文件的代码吗?

标签: javascript android react-native encryption react-native-android


【解决方案1】:

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

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

更新:

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

【讨论】:

  • @Afshin 逐流加密和解密正在工作。 base64 中使用的编码格式。但是我找不到可以帮助我逐流播放数据的播放器。知道我该怎么做吗?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 1970-01-01
    • 2013-04-27
    • 2021-12-09
    • 2019-09-26
    • 2016-01-10
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    相关资源
    最近更新 更多