安卓图片的AES加密/解密

4

我需要找到一种在安卓系统下加密/解密图片的方式。我是一名Android编程新手,以前没有在其他平台上进行过加密/解密操作。因此,希望你能提供一个好的例子,方便我学习如何进行操作。我正在做一个需要对图片进行加密/解密的项目。如果你能帮助我的话,我将非常感激。

1个回答

6
您可以查看这个Stackoverflow加密被接受的答案。需要注意的是,这可能需要很长时间来加密/解密图像。您还没有设置任何安全标准(必须有多安全),因此很难给出权威答案。 更新 在您的评论后,还有一些需要考虑的事情。通常快速=不安全。您真的想要保护这些图像,还是只是让未经授权的用户无法使用它们。
例如,您是否只希望在经过授权的设备上查看图像,或者担心它们落入错误的手中?
我曾经遇到过一个问题,即图片应仅显示在已授权帐户的设备上,这相当容易解决,使用与用户帐户关联的唯一ID来加密数据,因此每个用户都在设备上和服务器上拥有自己的(唯一)密钥,服务端动态地进行加密。 我也只需要加密部分数据(头 - 前4096字节)使其无用,我并不试图防止NSA解密图像,只是防止它们轻松解密并流传。
因此,这就足够快速和安全了,这就是为什么我建议您在选择实施计划之前弄清楚您要做什么并保护自己免受其影响。

Web服务器将使用特定的密钥值加密图像,然后我应该能够在我的应用程序中使用相同的密钥值解密这些图像。这就是我需要了解的全部内容。非常感谢您的回答! - hardartcore
服务器使用什么加密机制似乎很重要,因为它们必须匹配。如何以安全的方式传递密钥是另一个问题。 - Idistic
服务器端会在我进行一些测试之后完成,以确定哪个算法是最好和最快的加密/解密图像的方式。关于密钥,我真的不确定,我需要与我的朋友商量。目前,我只需使用AES进行测试,以找出在不同设备上加密/解密图像需要多长时间,这样我就可以向需要该应用程序的朋友展示结果了。 - hardartcore
是的,比起安全性来说更快速是更重要的。我现在需要的是一个示例,演示如何使用应用程序代码中定义的密钥值对图像进行AES加密/解密。 - hardartcore
基本上我和你的情况非常相似。每个用户都会有一个特定的设备ID,因此他不能使用同一帐户下的两个设备。加密将在服务器端完成,因此我只需要使用特定的密钥值在设备上解密图像。但是现在,我只需要构建一个简单的测试应用程序,以测试使用AES加密/解密图像的速度。这是我目前的待办事项清单。所以如果您能向我展示如何做到这一点,我将非常感激。我需要一个代码示例,其中我可以定义要解密的图像,并创建一个包含有关过程信息的日志文件。 - hardartcore
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接