Linux下建立加密的压缩文件算法
假设你想建立一个zip归档文件,而且具备密码保护,这样无论是谁试图解压这个zip文件时候,都必须知道正确的密码。在Linux上,有几种方法能够加密ZIP文件,或者对zip文件进行密码保护.安全
下面咱们来介绍经常使用的3种加密方式:markdown
方法一:
zip命令行工具提供了一个加密选项。
zip命令所使用的是PKZIP加密算法。
PKZIP算法被称为是不安全的。
此外,设置的密码,被以纯文本显示,使得它更加脆弱。工具
1.使用ZIP命令建立一个加密的ZIP文件:
$ zip --password mypasscode all.zip 1.txt 2.txt adding: 1.txt (stored 0%) adding: 2.txt (stored 0%)
2.解压缩加密文件时,会提示要求输入密码:
$unzip all.zip Archive: all.zip [all.zip] 1.txt password:
方法二:
使用7z进行文件归档,能够建立更加安全的加密zip文件,7z使用AES-256加密算法,SHA-256散列算法生成密钥。this
1.使用7z建立一个zip文件:
$ 7z a -t7z -p doc_folder.7z doc_folder 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Scanning Creating archive doc_folder.7z Enter password (will not be echoed) : Verify password (will not be echoed) : Compressing doc_folder/.7z Compressing doc_folder/test.txt Everything is Ok
2.解压缩加密文件:
$ 7z x doc_folder.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Processing archive: doc_folder.7z Enter password (will not be echoed) : Extracting doc_folder/.7z Extracting doc_folder/test.txt Extracting doc_folder Everything is Ok Folders: 1 Files: 2 Size: 37 Compressed: 252
3.使用限制
注意:若是要备份文件及文件owner/group,要先用tar打包加密
Backup and limitations DO NOT USE the 7-zip format for backup purpose on Linux/Unix because : - 7-zip does not store the owner/group of the file. On Linux/Unix, in order to backup directories you must use tar : - to backup a directory : tar cf - directory | 7za a -si directory.tar.7z - to restore your backup : 7za x -so directory.tar.7z | tar xf - If you want to send files and directories (not the owner of file) to others Unix/MacOS/Windows users, you can use the 7-zip format. example : 7za a directory.7z directory Do not use "-r" because this flag does not do what you think. Do not use directory/* because of ".*" files (example : "directory/*" does not match "directory/.profile")
方法三:
还有一种建立加密压缩包的方式,就是采用GnuPG的对称密钥加密spa
1.To create an encrypted compressed tar archive with GnuPG:
$ tar czvpf – doc.pdf doc2.pdf doc3.pdf | gpg --symmetric --cipher-algo aes256 -o secure.tar.gz.gpg
2.To uncompress an archive file encrypted with GnuPG:
$ gpg -d secure.tar.gz.gpg | tar xzvf -