Skip to content

s1ntoneli/rsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

362ba97 · Nov 29, 2024

History

5 Commits
Nov 28, 2024
Nov 28, 2024
Nov 29, 2024
Nov 28, 2024
Nov 28, 2024
Nov 28, 2024
Nov 28, 2024
Nov 28, 2024
Nov 28, 2024
Nov 28, 2024

Repository files navigation

在线非对称加密工具

一个为了在 v2ex 评论区安全发邮箱而临时写的小工具。

一个基于 React 和 Node-forge 的在线非对称加密工具,支持 RSA 加密算法,可以安全地加密和解密消息。无需注册和服务器,所有数据和计算都在浏览器本地完成。

🌟 功能特点

  • 🔐 生成 RSA 密钥对
  • 📤 导出私钥文件
  • 🔗 生成带公钥的分享链接
  • 🔒 加密消息
  • 🔓 解密消息
  • 💻 完全客户端运算,数据不经过服务器

🚀 快速开始

在线使用

访问 在线非对称加密工具 即可开始使用。

本地运行

  1. 克隆项目
git clone https://github.com/s1ntoneli/rsa.git
  1. 安装依赖
cd rsa
npm install
  1. 启动开发服务器
npm run dev

📖 使用指南

发送加密消息

  1. 接收方生成密钥对

    • 点击"生成新密钥对"按钮
    • 保存私钥文件到安全位置
    • 复制分享链接发给发送方
  2. 发送方加密消息

    • 打开接收方分享的链接
    • 在文本框中输入要发送的消息
    • 点击"加密"按钮
    • 复制生成的加密消息发给接收方
  3. 接收方解密消息

    • 将收到的加密消息粘贴到解密区域
    • 点击"解密"按钮查看原始消息

安全提示

  • 私钥是解密消息的唯一凭证,请务必安全保管
  • 建议定期更换密钥对
  • 不要在不信任的设备上使用私钥
  • 敏感信息建议线下传递

🛠 技术栈

  • React - UI 框架
  • Node-forge - RSA 加密实现
  • TailwindCSS - 样式框架
  • React Router - 路由管理
  • Vite - 构建工具

📝 背景故事

v2ex 上面很多帖子要求评论区发邮箱。一般人想发邮箱,但是又出于隐私考虑,只能发一个 base64 的邮箱。然而,这样仍然不安全,因为 base64 可以很简单地被解码。

为此,便可以使用 RSA 非对称加密来做这件事情。

但是,现在网站上所有的在线工具 RSA 都必须自己手动输入公钥以及要加密的内容。这就非常不方便。

这个在线工具主要特点就是支持了分享链接功能,分享的链接自动携带公钥。

这样,当你发帖子要求用户输入邮箱的时候,只需要把带有自己公钥的链接发出去。这样用户直接点击链接输入他们要加密的邮箱,就可以得到加密好的数据。

帖主拿到加密后的数据后,在自己的页面用自己的私钥进行解密,这样可以保证用户在评论中回复帖主的要求时,隐私数据只能被帖主解密。

贴主管理密钥对及解密: CleanShot 2024-11-29 at 14 00 02@2x

评论者公钥加密: CleanShot 2024-11-29 at 14 00 22@2x

🤝 贡献指南

欢迎提交 Issue 和 Pull Request。

📄 开源协议

本项目采用 MIT 协议开源。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published