最近项目需求,需要对图片加密并存储,所以要考虑存储空间问题。
我试了RC4、基于空间域的像素置乱Arnold算法、基于混沌的Logistic算法,加密后都会使图片大小增大到原图的10倍以上,原本100多Kb的图片会变成1MB多。
我在网上找到一个关于图片加密算法的性能表,上面说基于空间域的像素置乱和基于混沌的算法,加密后的密文数据量应该等于明文数据量。但为什么生成的加密图片会变大呢?
最近项目需求,需要对图片加密并存储,所以要考虑存储空间问题。
我试了RC4、基于空间域的像素置乱Arnold算法、基于混沌的Logistic算法,加密后都会使图片大小增大到原图的10倍以上,原本100多Kb的图片会变成1MB多。
我在网上找到一个关于图片加密算法的性能表,上面说基于空间域的像素置乱和基于混沌的算法,加密后的密文数据量应该等于明文数据量。但为什么生成的加密图片会变大呢?
可能原因:一些图片加密库基于图片原始rgb数据加密的所以比较大
你要的是“文件加密”,不是“图片加密”
加密算法常用的例如aes,可以找相应的aes库
也可以使用zip压缩算法库,保存成带密码的zip文件,这样同时做到加密和压缩