文件在Debian中加密或解密时可采用的常用方式
针对对称加密、非对称加密、磁盘级加密和压缩加密等场景,Debian系统提供了多种文件加密与解密工具。具体操作指南如下:
若要快速加密单个文件,可使用Debian默认安装的OpenSSL;AES、RSA等多种算法均受其支持。
对称加密的加密和解密共用同一密码,操作较为简单。
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin命令说明:-aes-256-cbc指定加密算法(安全强度高),-salt添加随机盐值防止彩虹表攻击,-in指定输入文件,-out指定加密后输出文件。执行后会提示输入密码,需牢记。openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt使用与加密命令相同的参数,输入密码便可完成解密。向他人安全传输文件时适合采用非对称加密:加密交给公钥,解密则使用私钥。
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048openssl rsa -pubout -in private_key.pem -out public_key.pem分别生成私钥(private_key.pem,需保密)和公钥(public_key.pem,可分享)。openssl pkeyutl -encrypt -pubin -inkey public_key.pem -in plaintext.txt -out encrypted.binopenssl pkeyutl -decrypt -inkey private_key.pem -in encrypted.bin -out decrypted.txt个人文件加密和与他人交换文件都适合使用GPG。该工具常用于Linux系统,具备数字签名、非对称加密及对称加密能力。
gpg --symmetric --cipher-algo AES256 -o encrypted.gpg plaintext.txt--symmetric代表对称加密,--cipher-algo AES256用于指定算法,-o用于指定输出文件。执行完成后输入密码。gpg --decrypt -o decrypted.txt encrypted.gpg输入密码便可解密。gpg --encrypt --recipient "Recipient Name" -o encrypted.gpg plaintext.txt--recipient指定接收者的GPG密钥ID(可通过gpg --list-keys查看),加密后仅接收者可用私钥解密。gpg --decrypt -o decrypted.txt encrypted.gpg需要输入接收者的私钥密码。需要最高级别的数据安全时,可用Linux标准磁盘加密工具LUKS处理整个分区或USB驱动器。
sudo apt install cryptsetup/dev/sdXn为实际分区,如/dev/sda1):sudo cryptsetup luksFormat /dev/sdXn执行后会提示设置密码(需强密码)。sudo cryptsetup open /dev/sdXn my_encrypted_partition创建映射设备/dev/mapper/my_encrypted_partition。sudo mkfs.ext4 /dev/mapper/my_encrypted_partitionsudo mount /dev/mapper/my_encrypted_partition /mnt挂载后可在/mnt目录下存储文件(自动加密)。sudo umount /mntsudo cryptsetup close my_encrypted_partition对于安全性要求较高的用户,TrueCrypt的继任者VeraCrypt可用于加密文件系统,并支持隐藏卷与加密卷。
sudo apt install veracryptveracrypt,操作时先点击创建卷并进入标准加密卷,再选择空文件作为加密卷;随后设定大小(如1GB),选定加密算法(如AES),完成密码设置后格式化。veracrypt /path/to/encrypted_volume /mnt/encryptedveracrypt -d /mnt/encrypted7-Zip是一款支持AES-256加密的跨平台压缩工具,适合加密文件夹或多个文件。
sudo apt install p7zip-full7z a -pYourPassword -mhe=on encrypted.7z /path/to/folder_or_file-p设置密码,并-mhe=on启用隐藏文件头功能(提升安全性)。
7z x -pYourPassword encrypted.7z -o/path/to/output输入密码即可进行解压。
可按照实际情况,从上述覆盖Debian不同加密需求的方法中选择合适方式。