Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法搜索大的密码流_Java_Android_Encryption_Video Streaming_Drm - Fatal编程技术网

Java 无法搜索大的密码流

Java 无法搜索大的密码流,java,android,encryption,video-streaming,drm,Java,Android,Encryption,Video Streaming,Drm,已经两周了,我们还在跑腿 这个场景, 受此启发,我们设法使用本地web服务器传输加密视频 问题是在查找时(视频的进度条挂起,普通文件也是如此)。CipherInputStream.Seek(pos)不在缓冲区之外进行搜索 CipherInputStream cis = null; ... long skipped = cis.skip(cbSkip); 对于跳远,跳过始终为零 因此,我们采用块大小1(弱加密) 因此,寻求将变得含蓄 我相信ARC4不再包含在android中。(请告诉我,我被误导

已经两周了,我们还在跑腿

这个场景,

受此启发,我们设法使用本地web服务器传输加密视频

问题是在查找时(视频的进度条挂起,普通文件也是如此)。CipherInputStream.Seek(pos)不在缓冲区之外进行搜索

CipherInputStream cis = null;
...
long skipped = cis.skip(cbSkip);
对于跳远,跳过始终为零

因此,我们采用块大小1(弱加密) 因此,寻求将变得含蓄

我相信ARC4不再包含在android中。(请告诉我,我被误导了), 或者是否有任何其他加密(android支持)具有块大小1

作为CipherInputStream的构造函数

if (!(isStream = cipher.getBlockSize() == 1))
它不会覆盖超类行为

所以剩下的选项很少,比如包含(或其他自定义的字节对字节输出加密)来进行搜索

我们的生活有可能变得简单吗。 我们只需要对媒体进行某种加密,以减轻临时用户的负担。(速度断路器)

任何一个答案都可以解决这个问题:

  • 有没有android支持的块大小为1的算法
  • 或者您是否有指向类似本地解密流媒体解决方案的链接,这些解决方案是可查找的
  • 还是我们只有选择

尝试计数器模式加密(CTR)。计数器模式加密也用于磁盘加密:它不依赖于以前的任何数据块,如CBC。您可能需要跳转到特定的块,然后跳转到块中的特定字节。如果您所追求的是“完整性控制”,那么您应该使用GCM。看看bouncy castle中关于这些algo的可用功能(一点警告:您可能会在Android中使用AES密钥时遇到麻烦,因为库已经(严重)损坏了)集成在Android中。

只需使用AES/CTR/NoPading算法进行加密

ARC4无论哪种方式都不起作用。无法直接跳转到一个字节,因为解密必须保持状态。我们的要求是淘汰一个临时用户,所以现在正在寻找一个自定义解决方案。您能为这个问题添加答案吗?虽然我最终还是这么做了,但答案太晚了类似的东西。所以我把这个给你。