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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/bicheng/86226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI驱动的DevOps运维与云服务部署自动化

引言 当前,云计算和DevOps实践让开发者能够管理成百上千台服务器和容器,但随之而来的运维复杂度也急剧提升。运维工程师经常需要部署多环境应用、维护大规模云主机、排查集群故障等任务。这些任务不仅涉及繁琐的脚本编写和命令行操作,还需要对…

Spring Boot动态数据源切换:优雅实现多数据源管理

在复杂的企业应用中,多数据源管理是常见需求。本文将介绍如何基于Spring Boot实现优雅的动态数据源切换方案,通过自定义注解和AOP实现透明化切换。 核心设计思路 通过三层结构实现数据源动态路由: 1. 注解层:声明式标记数据源 2…

如何挑选一款1588PTP时钟同步服务器​

在当今数字化程度极高的时代,高精度时间同步对于众多关键领域的高效、稳定运行起着决定性作用。PTP(精确时间协议)时钟作为实现高精度时间同步的核心设备,其性能优劣直接关乎系统整体表现。挑选一款合适的 ptp网络同步时钟&#x…

Harmony状态管理 @Local和@Param

深入理解ArkUI中的Param与Local装饰器 引言 在ArkUI的状态管理系统中,Param和Local是两个核心装饰器,它们分别用于处理组件间的数据传递和组件内部状态管理。本文将详细介绍这两个装饰器的使用场景、特性差异以及最佳实践。 Param装饰器:组…

物联网摄像头模块的应用场景

一、智慧城市治理 ‌智能交通优化‌ ‌动态信号控制‌:杭州部署20万物联网摄像头,实时分析车流密度并联动1200个红绿灯,早高峰通行效率提升40%。 ‌违规行为识别‌:搭载GB/T28181协议的摄像头AI抓拍交通违章,车牌识…

k8s Ingress、Service配置各样例大全

目录 壹、k8s Ingress 样例大全🔧 一、基础路由与 TLS 终止🔄 二、高级路由控制1. **URL 重写**(适用后端服务路径与入口路径不一致)2. **多路径路由到不同服务** 🚦 三、流量治理策略1. **金丝雀发布(灰度…

领域驱动设计(DDD)【10】之DDD战术模式:工厂模式与表意接口模式

文章目录 引言:DDD战术模式的重要性一、DDD中的工厂模式1.1 工厂模式的核心概念1.2 工厂模式的三种实现方式1.2.1 简单工厂方法1.2.2 工厂类1.2.3 抽象工厂模式 1.3 工厂模式的适用场景1.4 实际案例:电商订单系统 二、表意接口模式2.1 表意接口2.2 表意接…

鸿蒙ArkTS---登录逻辑,数据持久化,ArkUI,网络请求等基础内容记录

该内容是在【博学谷】学习过程中的代码记录,如有任何问题请与作者联系。 也欢迎同在学习鸿蒙开发的小伙伴的留言,一同学习,一同进步。 功能实现(只记录代码,没有相关配置,跑不起来)&#xff…

没有公网ip可以实现跨网p2p互通吗?内网让公网直连访问常用工具

没有公网IP的情况下仍然可以实现P2P通信,但需要借助NAT穿透技术或类似nat123同端口映射等第三方工具实现内网穿透‌。‌‌‌‌ 一、什么是P2P通信? P2P网络(Peer-to-Peer Network)是一种去中心化的网络架构,其中每个…

云服务器安装宝塔面板(BT Panel)

安装宝塔面板(BT Panel)是很多服务器管理员常用的操作,尤其适合用于管理网站、数据库、FTP等。以下是基于 Linux 系统(推荐 CentOS 或 Ubuntu)的宝塔面板安装步骤。 安装前准备 云服务器一台 可以订购服务器 海外云主…

mongoose解析http字段值

最近在使用mongoose开发嵌入式web后端时,会遇到要解析js前端发送过来的http消息,比如传递用户名,密码过来,后端要解析出来并判断是否登录成功。 前端http有两种组装字段的方式。 第一种是 $.ajax({url: /upgradePackage,method: P…

高德地图地址解析获取经纬度失败原因JSAPI

高德地图地址解析获取经纬度失败原因JSAPI 地图加载的时候老是报异常码,地图是可以加载出来的,但是在地图上的操作老是有异常码,找了好久不知道什么问题,异常码会报两种,一种是说什么key的问题,但是我当时…

极速JavaScript:全面性能优化实战指南

在现代Web开发中,JavaScript性能直接影响用户体验。一个优化良好的应用能带来更流畅的交互、更快的加载速度和更低的资源消耗。本文将深入探讨实用的JavaScript性能优化技术,帮助您打造高性能Web应用。 一、性能瓶颈分析与诊断工具 性能问题的常见来源&…

【开源模型】高考数学139分!小米MiMo开源模型:7B参数突出重围

小米 MiMo:7 B 参数撬动推理巅峰,开源模型的技术突围 70 亿参数超越 320 亿对手,高考数学 139 分的背后是训练策略的全面革新。 2025 年 4 月 30 日,小米开源的首个推理大模型 Xiaomi MiMo-7 B 横空出世,以​​仅 7 B …

用vscode破解最新typora1.10.8

1.下载格式化插件防止打开文件一团乱 1)下载vscode: Download Visual Studio Code - Mac, Linux, Windows 2)vscode下载中文插件重启 如果没变中文,在vscode界面按下: ctrl shift p 调出命令行 再输入&#xff…

在 CI/CD 流程中使用 Jenkins 与 Docker 集成

在 CI/CD 流程中,Jenkins 与 Docker 的集成可以实现自动构建、测试、打包、发布容器镜像,并部署到测试/生产环境。下面是从概念到落地操作的完整集成方案。 一、常见的集成方式有哪些? 方式描述1️⃣ Jenkins 主机安装 DockerJenkins 可以直…

闲庭信步使用SV搭建图像测试平台:第十课——继续说说类

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程…

如何改进复杂推理 - 从提示词设计入手

引言(动机) 在使用大语言模型(如 GPT-4、Claude、DeepSeek 等)构建智能问答、辅助决策或复杂任务代理系统时,可能遇到这些问题: 模型回答跳步骤、思路混乱同样问题,模型表现高度不稳定新任务一…

如何解决和各个经销商不同软件对接的问题?汤臣案例分享

一、项目背景 汤臣倍健作为健康产品行业的领军企业,其营销云系统与全国经销商 ERP 系统的数据无缝对接,对于提升业务运营效率和营销精准度至关重要。传统数据集成方法在面对经销商 ERP 系统的多样性和复杂性时,暴露出诸多问题,如…

Wordvice AI:Wordvice 推出的免费,基于先进的 AI 技术帮助用户提升英文写作质量

Wordvice AI:智能写作助手,助力高效英文写作 在当今全球化时代,英文写作已成为众多学生、研究人员、职场人士必备技能。然而,语法错误、表达不流畅、词汇匮乏等问题常困扰着大家。别担心,今天就来给大家介绍一款强大的…