惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
D
DataBreaches.Net
The Register - Security
The Register - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Full Disclosure
Engineering at Meta
Engineering at Meta
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Proofpoint News Feed
D
Docker
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
I
InfoQ
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
L
Lohrmann on Cybersecurity
T
The Exploit Database - CXSecurity.com
Recorded Future
Recorded Future
G
GRAHAM CLULEY
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
Help Net Security
Help Net Security
雷峰网
雷峰网
W
WeLiveSecurity
GbyAI
GbyAI
N
News and Events Feed by Topic
L
LINUX DO - 最新话题
T
Tailwind CSS Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
V
Vulnerabilities – Threatpost
V
V2EX
Application and Cybersecurity Blog
Application and Cybersecurity Blog
M
MIT News - Artificial intelligence
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
Cisco Talos Blog
Cisco Talos Blog
Webroot Blog
Webroot Blog
AI
AI
S
Security @ Cisco Blogs
Jina AI
Jina AI
The Last Watchdog
The Last Watchdog
Google DeepMind News
Google DeepMind News

繁星点点

最新轻量级龙虾部署教程 通过netboot.xyz重装系统 giffgaff卡保号教程 Llinux系统中全新透明代理方案(可代理所有出站流量) tailscale开启子网路由常见的坑 OpenWrt固件编译 解决UFW和Docker的问题 NSSM工具把任意exe程序注册为Windows后台服务 轻量级简约端口转发rinetd 安卓IDE的安装和使用 IP信息查询网站汇总 热点共享代理教程 SSH使用密钥认证登录详细解释 Debian系统公网IP出口切换指南,适用多IP服务器 Windows系统安装Scoop包管理器 安卓Flutter开发学习笔记 使用手机搭建节点服务端 关于github提交记录泄露真实邮箱的处理办法 anytls协议部署教程 caddy给域名用上ECH加密 通过gitlab流水线自动备份仓库 通过CF-Workers代理访问网站 低配机器使用alpine系统跑docker 端口敲门教程 3x-ui面板通过api管理示例 nmap端口扫描 数据库常用命令 snap和winget包管理器 Git推送GitHub常用命令 😩😩😩学不完,根本学不完😩😩😩 使用CDN后获取访客真实IP 一些用于网络测试的下载测速文件 纯v6网络访问v4站点最简单的方法 服务器配置SSH密钥登录 windows重装系统教程 Docker部署哪吒监控 Github-Actions默认用户变量GITHUB_TOKEN的提权语法 给站点套CFT的一些坑 解决CF反代Docker失效的问题 使用py3快速启动一个文件上传和下载的接口 ios系统最新免拔卡使用tiktok方法 clash手搓配置最全协议示例详解 为IP地址申请免费证书并开启HTTPS 实用网站收藏 纯CSS实现剧透效果 在CloudflareWAF中屏蔽国内浏览器 网络安全之百度URL欺骗漏洞分析和复现 超级强大的ansible批量管理主机运维工具使用教程 收集整理的最新的常用VPS脚本工具 无法注册TG账号和国内号码接收不到验证码详细解决方案 国内环境安装xui面板 免费接码网站合集 完整的网络状态码列表 关于xui面板报错无法监听127.0.0.1:62789的问题 Xboard面板常见问题 项目编译构建文档 ios最新美区ID注册方法 V2board前后端分离 Markdown语法教程 Github加速 Docker镜像加速和离线安装 Liunx配置wrap 代理工具和SSH工具推荐 常用代码记录
使用PGP的非对称算法加密文件
2025-08-31 · via 繁星点点

使用 gpg 工具在本地生成 PGP 密钥对,并进行文件的加密、解密、签名与验证操作。
适用于 Linux、macOS、Windows(安装 Gpg4win)。


1. 检查 gpg 是否安装

如未安装:

  • Linux: 使用 apt install gnupgyum install gnupg
  • macOS: 使用 brew install gnupg
  • Windows: 安装 Gpg4win

2. 生成密钥对

执行:

交互流程:

  1. 选择密钥类型
    选择 1) RSA and RSA(推荐)

  2. 密钥长度
    输入 4096(推荐)

  3. 有效期
    输入 0 表示永久有效

  4. 用户信息

    • Real name: 可随意填写(如:localuser)
    • Email address: 可随意填写(如:local@secure)
    • Comment: 可留空
  5. 设置私钥保护密码

    • 可直接回车跳过

生成后可以查看:

gpg --list-keys
gpg --list-secret-keys

3. 导出密钥

导出公钥(可公开分发)

gpg --armor --export "localuser" > public.asc

生成的文件内容格式为:

-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----

导出私钥(务必妥善保管)

gpg --armor --export-secret-keys "localuser" > private.asc

生成的文件内容格式为:

-----BEGIN PGP PRIVATE KEY BLOCK-----
...
-----END PGP PRIVATE KEY BLOCK-----

4. 文件加密与解密

pgp是对整个文件字节流加密,支持所有文件类型,例如文档,二进制文件,音频视频等,不会破环原始文件。

这里以demo.md文件示例,对于文本可以添加--armor参数以文本的形式加密,生成.asc文件。本文忽略。

加密文件(使用公钥)

gpg --encrypt --recipient "localuser" demo.md

生成 demo.md.gpg,只有对应私钥持有者能解密。

解密文件(使用私钥)

gpg --decrypt demo.md.gpg > demo.md

5. 签名与验证(可选)

给文件生成签名

gpg --detach-sign demo.md

会生成 demo.md.sig

验证文件签名

gpg --verify demo.md.sig demo.md

6. 常用配置优化(可选)

~/.gnupg/gpg.conf 中添加:

default-recipient-self

这样加密文件时可以直接:

无需每次输入接收人。


注意事项

  • 公钥可公开,私钥必须保密
  • 私钥建议离线备份(如 U 盘或密码管理工具)
  • 加密后记得删除原始文件(如:shred -u demo.md
  • PGP 本质是 非对称加密 + 对称加密混合,兼顾安全性与性能