linux

如何用OpenSSL加密和解密文件

小樊
61
2025-03-06 14:52:24
栏目: 云计算

使用OpenSSL加密和解密文件是一个常见的任务,以下是详细步骤:

加密文件

  1. 使用对称加密(AES)

    • 生成一个随机的AES密钥:
      openssl rand -base64 32 > aes.key
      
    • 使用该密钥加密文件:
      openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin -pass file:aes.key
      
    • 这里,plaintext.txt 是要加密的文件,encrypted.bin 是加密后的文件,aes.key 是包含AES密钥的文件。
  2. 使用非对称加密(RSA)

    • 生成RSA密钥对:
      openssl genpkey -algorithm RSA -out rsa_key.pem -aes256
      openssl rsa -pubout -in rsa_key.pem -out rsa_key.pub
      
    • 使用公钥加密文件:
      openssl pkeyutl -encrypt -in plaintext.txt -out encrypted.bin -pubin -inkey rsa_key.pub
      
    • 这里,rsa_key.pem 是私钥文件,rsa_key.pub 是公钥文件。

解密文件

  1. 使用对称加密(AES)

    • 使用相同的AES密钥解密文件:
      openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -pass file:aes.key
      
    • 这里,encrypted.bin 是加密后的文件,decrypted.txt 是解密后的文件,aes.key 是包含AES密钥的文件。
  2. 使用非对称加密(RSA)

    • 使用私钥解密文件:
      openssl pkeyutl -decrypt -in encrypted.bin -out decrypted.txt -inkey rsa_key.pem
      
    • 这里,encrypted.bin 是加密后的文件,decrypted.txt 是解密后的文件,rsa_key.pem 是私钥文件。

注意事项

通过以上步骤,你可以使用OpenSSL轻松地加密和解密文件。

0
看了该问题的人还看了