我需要一个功能/库,可以在低功耗设备(手机,平板电脑等)上快速加密图像。
我需要提供一个字符串,它可以作为加密和解密图像文件的密码。
理想情况下,我想要保留图像文件格式的东西,只是扰乱像素。我已经尝试过原型设计并且无法找到一种有效的方法(在PC上加密10-30秒,在设备上崩溃)。这里的想法是直观地向用户显示他们的图像已被加密。我意识到我可能不得不伪造这个功能,或者完全没有它。
我需要在客户端上对图像文件进行加密,并将其发送到可以存储的服务器,而无需用户担心谁可以访问它。加密不一定非常严格(参考NSA问题)。之后,用户将下载图像文件并使用密码解密。
那里有什么东西适合这种描述吗?
答案 0 :(得分:3)
我会尝试AES。通常,加密比其他步骤(例如图像压缩)更少。但是,当然,如果不了解您的设置的任何具体细节,很难做出可靠的预测。
答案 1 :(得分:1)
RC4算法很快(它基本上是XOR操作,具有非常好的会话密钥)并且灵活,如果你找到适合你的手机平台的实现。但请注意,RC4需要完美的会话密钥,即首先是良好的随机数据源。 RC4标准(IIRC)有这种随机数发生器的规范,但我不知道所有提供加密的库本身是否也提供随机化功能。
注意,加密强随机函数不能被常规rand()或类似函数替换。
答案 2 :(得分:1)
什么是图像加密?你的意思是隐写术? (隐藏图像中的数据?)
或图像压缩?如PNG / GIF / Jpeg?
如果您只是指加密密码,那么您可以选择Blowfish / RSA / DES / AES / Rijndael来加密构成图像的实际数据。