在Linux系统中,OpenSSL是一个强大的加密工具,可以用于执行多种加密和解密任务。以下是一些基本的OpenSSL加密和解密命令:
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
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
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
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
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
SHA-256哈希:
openssl dgst -sha256 plaintext.txt
MD5哈希(不推荐用于安全目的):
openssl dgst -md5 plaintext.txt
RSA密钥对:
openssl genrsa -out private.pem 2048
openssl rsa -pubout -in private.pem -out public.pem
ECC密钥对:
openssl ecparam -genkey -name secp256k1 -out private.pem
openssl ec -pubout -in private.pem -out public.pem
自签名证书:
openssl req -x509 -newkey rsa:4096 -keyout private.pem -out certificate.crt -days 365
使用CA签名证书:
openssl ca -config openssl.cnf -extensions v3_ca -days 365 -notext -md sha256 -in certificate.csr -out certificate.crt
通过这些基本的OpenSSL命令,你可以在Linux系统中进行各种加密和解密操作。根据具体需求,你可以进一步探索和使用OpenSSL的其他功能和选项。