使用 OpenSSL 从命令行加密和解密文件

使用 OpenSSL 加密和解密文件

需要从命令行快速加密文件?使用 OpenSSL,您可以非常轻松地加密和解密文件。

为了本演练的目的,我们将使用 des3 加密,简单来说就是对每个数据块应用复杂的加密算法三次,使其难以通过暴力破解。虽然我们在这里专注于 Mac OS X,但这些命令可以在安装了 OpenSSL 的任何地方运行,包括旧版本的 OS X 和 Linux。

如何使用 OpenSSL 加密文件

openssl 的语法是基本的:

openssl [加密类型] -in [要加密的文件]

如前所述,我们将使用 des3 进行加密,并使用文本文件作为输入。我们还将指定一个不同的输出文件以防止出现任何错误。命令如下所示:

openssl des3 -in file.txt -out encrypted.txt

在加密完成之前,您将被要求设置并确认密码,不要丢失此密码,否则您将无法访问该文件。

旁注:您也可以只使用带有 -in 文件名的输入文件,但这可能会导致问题。为防止任何意外问题,请不要指定相同的文件作为输入和输出。这意味着原始文件将在加密之前或之后保留下来,您将希望单独处理该文件,最好通过安全删除方法。

使用 OpenSSL 解密文件

openssl des3 -d -in encrypted.txt -out normal.txt

解密文件需要先前设置的密码。

除了切换输入和输出的位置,原始文件再次保持原样,这里的主要区别是 -d 标志告诉 openssl 解密文件。

自然地,您可能想知道如果您尝试在不输入密码的情况下打开已使用 OpenSSL 加密的文件会发生什么?您可能会收到一条错误消息,但如果您强制用类似 TextEdit 的东西打开 文件,你会看到文本“Salted”,后面跟着一堆乱码,如下所示:

加密文件

在再次通过 openssl 解密之前,该文件将保持不可读状态。

有关文件安全的更多信息,请不要错过我们的一些其他帖子,包括保护 Mac 的密码加密分区压缩档案磁盘映像中的文件和文件夹,甚至加密iOS 备份 以确保 iPhone 和 iPad 中敏感数据的安全。