Skip to content

s1ntoneli/rsa

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