在Ubuntu系统中,使用OpenSSL进行加密和解密操作非常简单。以下是一些基本的命令行示例,展示了如何使用OpenSSL进行常见的加密和解密任务。
# 加密文件
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin
# 解密文件
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt
# 加密文件
openssl enc -des-ede3-cbc -salt -in plaintext.txt -out encrypted.bin
# 解密文件
openssl enc -d -des-ede3-cbc -in encrypted.bin -out decrypted.txt
# 生成RSA密钥对(如果还没有)
openssl genpkey -algorithm RSA -out rsa_key.pem -pkeyopt rsa_keygen_bits:2048
# 提取公钥
openssl rsa -pubout -in rsa_key.pem -out rsa_pubkey.pem
# 使用公钥加密文件
openssl rsautl -encrypt -pubin -inkey rsa_pubkey.pem -in plaintext.txt -out encrypted.bin
# 使用私钥解密文件
openssl rsautl -decrypt -inkey rsa_key.pem -in encrypted.bin -out decrypted.txt
# 使用私钥加密文件
openssl rsautl -encrypt -inkey rsa_key.pem -in plaintext.txt -out encrypted.bin
# 使用公钥解密文件
openssl rsautl -decrypt -pubin -inkey rsa_pubkey.pem -in encrypted.bin -out decrypted.txt
# 生成私钥
openssl genpkey -algorithm RSA -out rsa_key.pem -pkeyopt rsa_keygen_bits:2048
# 生成自签名证书
openssl req -x509 -new -nodes -key rsa_key.pem -sha256 -days 3650 -out certificate.crt
# 使用证书加密文件
openssl pkeyutl -encrypt -inkey certificate.crt -pubin -in plaintext.txt -out encrypted.bin
# 使用私钥解密文件
openssl pkeyutl -decrypt -inkey rsa_key.pem -in encrypted.bin -out decrypted.txt
# 生成文件的SHA-256哈希
openssl dgst -sha256 -binary plaintext.txt | openssl enc -base64
-pass选项来指定密码。通过这些命令,你可以在Ubuntu系统中使用OpenSSL进行基本的加密和解密操作。根据具体需求,你可以选择合适的算法和模式。