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.pswp.cn/bicheng/86226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86226.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋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:智能寫作助手,助力高效英文寫作 在當今全球化時代,英文寫作已成為眾多學生、研究人員、職場人士必備技能。然而,語法錯誤、表達不流暢、詞匯匱乏等問題常困擾著大家。別擔心,今天就來給大家介紹一款強大的…