什么是 OpenSSL?
OpenSSL 是一个开源的加密库,广泛用于实现 SSL/TLS 协议,提供数据加密、数字签名、证书管理等功能。它被大量 Web 服务器(如 Apache、Nginx)和应用程序依赖。
常见加密类型
- 对称加密:使用同一密钥进行加解密,如 AES、DES。
- 非对称加密:使用公钥加密、私钥解密,如 RSA、ECC。
- 哈希函数:生成固定长度摘要,如 SHA256、MD5(不推荐用于安全场景)。
实用 OpenSSL 命令示例
1. 对称加密文件(AES-256)
openssl enc -aes-256-cbc -salt -in secret.txt -out secret.txt.enc
2. 解密文件
openssl enc -aes-256-cbc -d -in secret.txt.enc -out secret_decrypted.txt
3. 生成 RSA 密钥对
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout -out public.key
4. 创建自签名证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
安全建议
使用强密码、定期更换密钥、避免使用已废弃算法(如 MD5、SHA1)、妥善保管私钥,是保障 OpenSSL 安全使用的前提。