Linux OpenSSL如何进行加密解密

1198
2025/3/4 15:32:32
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux系统中,OpenSSL是一个强大的加密工具,可以用于执行多种加密和解密任务。以下是一些基本的OpenSSL加密和解密命令:

对称加密

  1. AES加密

    openssl enc -aes-256-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:yourpassword
    

    解密:

    openssl enc -d -aes-256-cbc -in ciphertext.bin -out decrypted.txt -pass pass:yourpassword
    
  2. DES加密

    openssl enc -des-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:yourpassword
    

    解密:

    openssl enc -d -des-cbc -in ciphertext.bin -out decrypted.txt -pass pass:yourpassword
    
  3. 3DES加密

    openssl enc -3des-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:yourpassword
    

    解密:

    openssl enc -d -3des-cbc -in ciphertext.bin -out decrypted.txt -pass pass:yourpassword
    

非对称加密

  1. RSA加密 生成RSA密钥对:

    openssl genpkey -algorithm RSA -out rsa_key.pem -pkeyopt rsa_keygen_bits:2048
    

    使用公钥加密:

    openssl pkeyutl -encrypt -in plaintext.txt -out ciphertext.bin -pubin -inkey rsa_key.pub.pem
    

    使用私钥解密:

    openssl pkeyutl -decrypt -in ciphertext.bin -out decrypted.txt -inkey rsa_key.pem
    
  2. ECC加密 生成ECC密钥对:

    openssl ecparam -name secp256k1 -genkey -noout -out ecc_key.pem
    

    使用公钥加密:

    openssl pkeyutl -encrypt -in plaintext.txt -out ciphertext.bin -pubin -inkey ecc_key.pub.pem
    

    使用私钥解密:

    openssl pkeyutl -decrypt -in ciphertext.bin -out decrypted.txt -inkey ecc_key.pem
    

哈希函数

  1. SHA256哈希

    openssl dgst -sha256 plaintext.txt
    
  2. MD5哈希

    openssl dgst -md5 plaintext.txt
    

数字签名

  1. 生成数字签名

    openssl dgst -sha256 -sign private_key.pem -out signature.bin plaintext.txt
    
  2. 验证数字签名

    openssl dgst -sha256 -verify public_key.pem -signature signature.bin plaintext.txt
    

注意事项

  • 在使用加密和解密命令时,确保输入和输出文件的路径正确。
  • 密码应妥善保管,避免泄露。
  • 对于敏感数据,建议使用更安全的加密算法和更长的密钥长度。

通过这些基本的OpenSSL命令,你可以在Linux系统中进行常见的加密和解密操作。根据具体需求,你可以调整参数和算法以满足不同的安全要求。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Linux mmap有哪些应用场景