首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android AES/CBC加密

Android AES/CBC加密
EN

Stack Overflow用户
提问于 2015-06-30 02:03:00
回答 2查看 481关注 0票数 0

目前我使用的是javax.crypto.cipher库的AES/CBC加密,但是我发现它有点太慢了。解密一个10分钟的.mp4视频文件需要45s-1m。

有没有更好的方法在Android上做到这一点?我环顾四周,发现了一些关于openssl的帖子,但它真的快得多吗?

任何链接,有用的帖子和/或评论都将非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2015-06-30 04:06:01

使用流而不是文件解密。如果您流式传输视频,则只需在需要时执行视频解密即可。如果您使用CTR或CBC模式,您甚至可以跳到流中的特定位置,尽管这需要一些额外的技巧才能实现。

将解密留给默认提供程序应该是首选,但您当然可以使用本机解密库来加快速度。

票数 1
EN

Stack Overflow用户

发布于 2015-09-15 15:40:17

愿意在开始播放之前解密整个视频会使用户暴露于明显的延迟。您应该考虑使用流媒体架构。

典型的设计包括javax.crypto.CipherInputStream类和本地http实例。SDK中没有针对http服务器的类,您必须实现自己的类,或者寻找类似于LocalSingleHttpServer的现有库。

看起来是这样的:

代码语言:javascript
复制
mServer = new LocalSingleHttpServer();
mServer.setCipher(myGetCipher());
mServer.start();
path = mServer.getURL(path);
mVideoView.setVideoPath(path);
mVideoView.start();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31122526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档