解密QMediaplayer的视频而无需为整个文件创建缓冲区

时间:2019-06-03 09:52:55

标签: c++ qt

我正在尝试为Qt中的加密视频播放实现自定义加密/解密算法。解密整个文件然后将其传递给QMediaPlayer会很容易,但是我试图避免这种情况,因为这些视频文件的大小为数演出。

为使一切简单,我对要实现的目标做了一个非常笨拙的图表。显示的示例不是实际的加密/解密算法。

enter image description here

一个加密的视频文件被分解为32个字节的块,编号为n。然后,将每个块与n的SHA256哈希进行XOR运算。然后将结果传递到QMediaPlayer。

我做了一些研究,但是我对Qt还是比较陌生。这是针对类似问题的解决方案的链接: How can I use Qt to encrypt/decrypte/play a video?

此解决方案创建了一个缓冲区,用于动态解密视频,但只能通过逐字节计算来工作。

编辑:

链接中的解决方案使用1字节缓冲区。

我想处理32字节的块,同时能够跟踪我正在忙于处理的块。

假设我要流式传输20kB的视频。这意味着它将分为640个需要单独处理的块,同时能够跟踪我当前正在解密的块。

我将如何创建一个32字节长的缓冲区,该缓冲区能够跟踪我正在处理的文件的哪一部分?

0 个答案:

没有答案