我有一个加密文件(AES 对称加密)。为了备份和节省磁盘空间,我可以压缩(无损)文件而不必担心弄乱解密吗?如果可以,您能推荐一些好的压缩程序吗?
答案1
您可以压缩它,但不太可能节省太多磁盘空间。从本质上讲,加密很少能让文件压缩很多。
亲自尝试一下,看看是否可以节省文件大小。
一个数据点:
-rw-r----- 1 gene gene 2428671 2009-06-02 12:39 test.log
-rw-r----- 1 gene gene 134524 2009-06-02 12:39 test.log.bz2
-rw-r----- 1 gene gene 217162 2009-06-02 12:38 test.log.gz
-rw-r--r-- 1 gene gene 263229 2009-06-02 12:47 test-AES.gpg
-rw-r--r-- 1 gene gene 264833 2009-06-02 12:42 test-AES.gpg.bz2
-rw-r--r-- 1 gene gene 263302 2009-06-02 12:41 test-AES.gpg.gz
-rw-r--r-- 1 gene gene 134609 2009-06-02 12:43 test-bz2-AES.gpg
-rw-r--r-- 1 gene gene 217246 2009-06-02 12:43 test-gz-AES.gpg
test.log
是原版,而test.log.bz2
和test.log.gz
分别用bzip2和gzip进行简单压缩。
如果我加密它(gpg --symmetric --cipher-algo AES --output test-AES.gpg test.log
),加密文件(test-AES.gpg
)会比压缩版本稍大。压缩加密文件实际上会增加一点大小(test-AES.gpg.bz2
和test-AES.gpg.gz
)。
先压缩然后加密确实可以节省一些成本(test-bz2-AES.gpg
和test-gz-AES.gpg
),尤其是使用 bzip2 时。
当然,由于加密软件和/或压缩软件不同,您的体验可能会有所不同。
您应该考虑仅通过加密节省的文件大小是否足够,或者压缩然后加密是否值得在此过程中增加额外的步骤。
答案2
如果加密效果好的话,情况就不会如此。压缩涉及识别数据中的模式,并创建引用这些模式的“速记”以供以后提取。
如果加密效果好,文件看起来就像随机噪音,由于缺乏模式,压缩效果不会很好。当然,你可以把它放入存档文件(.zip、.gz 等),但你不太可能让它变小很多。
答案3
答案4
加密文件将失去使压缩有效的统计属性,因此压缩加密文件几乎不会节省任何空间。在加密压缩文件之前,您应该先压缩文件(此时它仍然表现良好)。除此之外,当您解压文件时,压缩不会影响文件的原始内容。