当前位置: 首页 > news >正文

OpenSSL 混合加密

openssl 中文网: https://www.openssl.net.cn/


目录

    • 对称加密
      • 特点
      • 常见算法
      • 案例(使用 AES)
    • 非对称加密
      • 特点
      • 常见算法
      • 案例(使用 RSA)
    • 混合加密
      • 场景
      • 加密(使用 AES)
      • 解密
    • 总结


对称加密

特点

  • 加密和解密使用相同的密钥;

  • 算法简单,速度快;

  • 适合大文件加密;

  • 安全性依赖于密钥保密性。

常见算法

  • AES(最常用);

  • DES、3DES(已过时);

  • Blowfish、ChaCha20 等。

案例(使用 AES)

测试文件

echo "这是一个机密内容,不能泄露。" > secret.txt

image-20250623201012825

加密文件

执行命令后,会提示输入密码(用于派生密钥)

openssl enc -aes-256-cbc -salt -in secret.txt -out secret.txt.enc# secret.txt 需要加密的文件
# secret.txt.enc 加密生成的结果文件

image-20250623201203034

解密文件

使用相同的密码解密

openssl enc -aes-256-cbc -d -in secret.txt.enc -out decrypted.txt# secret.txt.enc 已加密的文件
# decrypted.txt 解密生成的结果文件
# 查看解密后的结果文件(与我们的原文件secret.txt内容保持一致)

image-20250623201317683

非对称加密

特点

  • 使用一对密钥:公钥加密,私钥解密;
  • 适合安全通信和密钥分发;
  • 加解密速度较慢,不适合大文件;
  • 常用于数字签名、身份认证、SSL/TLS。

常见算法

  • RSA(最常见);

  • EC/DSA(椭圆曲线算法);

  • Ed25519(现代高效算法)。

案例(使用 RSA)

生成密钥对

# 私钥
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048# 公钥(公钥含于私钥,因此可通过私钥得到公钥)
openssl rsa -in private.pem -pubout -out public.pem

image-20250623201433408

使用公钥加密

openssl rsautl -encrypt -inkey public.pem -pubin -in secret.txt -out secret.rsa.enc

使用私钥解密

openssl rsautl -decrypt -inkey private.pem -in secret.rsa.enc -out decrypted_rsa.txt

image-20250623202222489

混合加密

场景

在实际场景中,两者常结合使用(比如 HTTPS 就是这样做的):

  1. 用非对称加密传输对称密钥-安全传输密钥;

  2. 然后用对称加密大数据-快速加解密数据。

加密(使用 AES)

生成临时对称密钥(比如 256 位随机 key)

openssl rand -base64 32 > sym.key

使用对称密钥加密文件(用 AES)

openssl enc -aes-256-cbc -salt -in secret.txt -out secret.data.enc -pass file:./sym.key

使用公钥加密对称密钥

openssl rsautl -encrypt -inkey public.pem -pubin -in sym.key -out sym.key.enc

image-20250623203043099

解密

解密对称密钥(使用私钥)

openssl rsautl -decrypt -inkey private.pem -in sym.key.enc -out sym.key.dec

解密数据

openssl enc -aes-256-cbc -d -in secret.data.enc -out final_output.txt -pass file:./sym.key.dec

image-20250623203452148

总结

一句话:混合加密 = 安全传输(非对称) + 高速加解密(对称),是现代数据加密通信和文件加密的事实标准。

相关文章:

  • 16.数据聚合
  • C++的前世今生-C++11
  • 进入python虚拟环境的方法
  • hive集群优化和治理常见的问题答案
  • 「ECG信号处理——(18)基于时空特征的心率变异性分析」2025年6月23日
  • 实时反欺诈:基于 Spring Boot 与 Flink 构建信用卡风控系统
  • 2025.06.23【甲基化】methylKit:甲基化测序数据分析安装与详细使用教程
  • 鸿蒙容器组件 Row 全解析:水平布局技术与多端适配指南
  • 《Effective Python》第十章 健壮性——善用 try/except/else/finally,写出更健壮的 Python 异常处理代码
  • 体制内写公文,用ai工具辅助写材料
  • Advent of Cyber 1 [2019] - [Day 13] | TryHackMe
  • Go 语言使用 excelize 库操作 Excel 的方法
  • FastAPI + PyMySQL 报错:“dict can not be used as parameter”的原因及解决方案
  • ​​MQTT​​通讯:​​物联网
  • 【Torch】nn.GRU算法详解
  • Java 类加载机制详解
  • 高级版 Web Worker 封装(含 WorkerPool 调度池 + 超时控制)
  • 渗透测试指南(CSMSF):Windows 与 Linux 系统中的日志与文件痕迹清理
  • 【时时三省】(C语言基础)怎样定义指针变量
  • 无人驾驶汽车运动控制分为纵向控制和横向控制
  • b s架构做的网站/无锡谷歌推广
  • 哈尔滨教育学会网站建设/阳江网站建设
  • 网站开发服务外包合同/seo网络搜索引擎优化
  • 想要去国外网站买东西怎么做/seo网站推广经理
  • 破解php网站后台账号密码/大一html网页制作
  • 品建设/爱站网seo查询