在Linux环境下使用OpenSSL对消息和文件进行加密(转载)

转自:http://netsecurity.51cto.com/art/201301/378513.htm

1.简介

OpenSSL是一款功能强大的加密工具包。我们当中许多人已经在使用OpenSSL,用于创建RSA私匙或证书签名请求(CSR)。不过,你可曾 知道可以使用OpenSSL来测试计算机速度?或者还可以用它来对文件或消息进行加密?本文将介绍几个简单易学的技巧,教你如何使用OpenSSL对消息 和文件进行加密。

【相关推荐】:网络安全工具百宝箱

2.对消息进行加密和解密

首先,我们不妨对简单的消息进行加密。下面这个命令将使用Base64编码方法(Base64 Encoding),对"Welcome to LinuxCareer.com"(欢迎访问LinuxCaeer.com)这个消息进行加密:

$ echo "OpenSSL" | openssl enc -aes-256-cbc > openssl.dat

enter aes-256-cbc encryption password:

Verifying - enter aes-256-cbc encryption password:

$ file openssl.dat

openssl.dat: data

想对openssl.dat文件进行解密,恢复至原始消息,请使用:

$ openssl enc -aes-256-cbc -d -in openssl.dat

enter aes-256-cbc decryption password:

OpenSSL

3.对文件进行加密和解密

想使用OpenSSL对文件进行加密,其实就跟对消息进行加密一样简单。唯一的区别在于,我们不是使用echo命令,而是使用-in选项,后面跟以我们想进行加密的实际文件,并使用-out选项,这会指令OpenSSL将经过加密的文件存储到某个名称的文件中:

$ openssl enc -aes-256-cbc -in /etc/services -out services.dat

想对我们的服务文件进行解密,恢复成原样,请使用:

$ openssl enc -aes-256-cbc -d -in services.dat > services.txt

enter aes-256-cbc decryption password:

4.对目录进行加密和解密

万一你需要使用OpenSSL对整个目录进行加密,首先需要创建gzip打包文件(tarball),然后用上述方法对该打包文件进行加密,也可以使用pipe,同时完成这两项任务:

# tar cz /etc | openssl enc -aes-256-cbc -out etc.tar.gz.dat

tar: Removing leading `/' from member names

enter aes-256-cbc encryption password:

Verifying - enter aes-256-cbc encryption password:

想对整个etc/目录进行解密,并提取到当前的工作目录,请使用:

# openssl enc -aes-256-cbc -d -in etc.tar.gz.dat | tar xz

enter aes-256-cbc decryption password:

上述方法对自动备份加密目录来说相当有用。

5.小结

大家刚才看到的只是OpenSSL加密方面的基本介绍。说到OpenSSL这款加密工具包,它其实没有限制你能用它来做什么,可以说用途广泛。想看看如何使用不同的编码方法,请参阅OpenSSL手册页:

$ man openssl

原文地址:https://www.cnblogs.com/lance-ehf/p/3901135.html