linux

Linux OpenSSL怎样进行加密解密

小樊
45
2025-05-03 23:29:46
栏目: 云计算

在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 -des-ede3-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:yourpassword
    

    解密:

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

非对称加密

  1. RSA加密

    openssl rsa -pubout -in private.pem -out public.pem
    openssl rsautl -encrypt -pubin -inkey public.pem -in plaintext.txt -out ciphertext.bin
    

    解密:

    openssl rsautl -decrypt -inkey private.pem -in ciphertext.bin -out decrypted.txt
    
  2. ECC加密

    openssl ecparam -genkey -name secp256k1 -out private.pem
    openssl ec -pubout -in private.pem -out public.pem
    openssl pkeyutl -encrypt -pubin -inkey public.pem -in plaintext.txt -out ciphertext.bin
    

    解密:

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

哈希函数

  1. SHA-256哈希

    openssl dgst -sha256 plaintext.txt
    
  2. MD5哈希(不推荐用于安全目的):

    openssl dgst -md5 plaintext.txt
    

生成密钥对

  1. RSA密钥对

    openssl genrsa -out private.pem 2048
    openssl rsa -pubout -in private.pem -out public.pem
    
  2. ECC密钥对

    openssl ecparam -genkey -name secp256k1 -out private.pem
    openssl ec -pubout -in private.pem -out public.pem
    

证书签名

  1. 自签名证书

    openssl req -x509 -newkey rsa:4096 -keyout private.pem -out certificate.crt -days 365
    
  2. 使用CA签名证书

    openssl ca -config openssl.cnf -extensions v3_ca -days 365 -notext -md sha256 -in certificate.csr -out certificate.crt
    

注意事项

通过这些基本的OpenSSL命令,你可以在Linux系统中进行各种加密和解密操作。根据具体需求,你可以进一步探索和使用OpenSSL的其他功能和选项。

0
看了该问题的人还看了