K
ken
首页文章🕐 时间转换📋 JSON 工具🖼️ Base64 图片🔑 密码生成 Cron 表达式🔤 命名转换📱 二维码生成#️⃣ 哈希计算🔡 编码转换🔍 正则表达式⚙️ 配置文件格式转化🔐 加解密⚖️ BMI 计算🎲 随机数据🗜️ 图片工具🌍 世界时钟🏛️ 罗马数字🔢 数字转中文💰 贷款计算

加解密

加密是信息安全的基础——从 HTTPS 传输到密码存储,从 API 签名到区块链交易,加密算法无处不在。本工具支持两大类加密方式:<strong>对称加密</strong>(AES、DES)使用同一个密钥进行加密和解密,速度快适合大数据量;<strong>非对称加密</strong>(RSA)使用公钥和私钥配对,安全性更高适合密钥交换和数字签名。所有加解密运算完全在浏览器本地执行,密钥和明文不会发送到任何服务器。

支持 AES 的多种模式(ECB/CBC/CFB/OFB/CTR)、多种密钥长度(128/192/256位),RSA 支持加密/解密和签名/验证两种场景,密钥长度可选 512/1024/2048/4096 位。适合开发者本地加密敏感配置、学习密码学原理、或验证 API 签名逻辑。请注意:本工具适用于学习和非生产场景,请勿用于处理真实敏感数据。

📖 加解密工具使用说明

对称加密 vs 非对称加密

加密分为两大类:对称加密(加密和解密使用同一个密钥,如 AES、DES)和非对称加密(使用公钥加密、私钥解密,如 RSA)。对称加密速度快,适合加密大量数据;非对称加密安全性更高但速度慢,通常用于密钥交换(用 RSA 加密 AES 密钥)和数字签名。本工具同时支持这两种加密方式。

⚙️ 对称加密功能

  • 算法选择:AES(256/192/128 位密钥)和 DES(56 位密钥)。AES 是 NIST 标准,全球公认安全。DES 由于密钥太短已不推荐用于生产,仅供学习参考。
  • 加密模式:支持 ECB、CBC、CFB、OFB、CTR 五种模式。ECB 模式不安全(相同明文产生相同密文),推荐使用 CBC 模式。不同模式适用于不同场景——CBC 是最常用的通用模式,CTR 适合流式加密,CFB/OFB 适合需要避免填充的场景。
  • 密钥生成:点击生成按钮自动生成随机密钥,或手动输入自定义密钥。AES-256 需要 32 字节密钥,AES-128 需要 16 字节。工具会自动处理密钥长度匹配。
  • 输出格式:加密结果输出为 Base64 编码,方便复制和传输。也支持 Hex 编码选项。

⚙️ RSA 非对称加密功能

  • 密钥对生成:支持 512/1024/2048/4096 位密钥长度。2048 位是当前推荐的安全长度;4096 位更安全但加密/解密速度明显更慢。密钥以 PEM 格式显示。
  • 加密/解密:使用公钥加密明文,只有持有对应私钥的人才能解密。适用于保护传输中的数据——任何人都可以用你的公钥加密消息,但只有你能解密。
  • 签名/验证:私钥签名(生成数字签名)、公钥验证(验证签名真实性)。用于确保数据完整性和来源可信——接收方用发送方的公钥验证签名,确认数据未被篡改且确实来自声称的发送者。

使用方法

  1. 选择对称加密或 RSA 标签页
  2. 对称加密:选择算法(AES/DES)、模式(ECB/CBC/CFB/OFB/CTR),输入或生成密钥,切换加密/解密模式,输入文本查看结果
  3. RSA 加密:选择密钥长度(推荐 2048),点击"生成密钥对"。加密时使用公钥加密输入文本;解密时粘贴对应私钥进行解密
  4. RSA 签名:切换到签名模式,用私钥对文本签名,用公钥验证签名
  5. 加密结果以 Base64 格式显示(带公钥/私钥的完整 PEM 输出),双击复制

⚠️ 安全提醒(请务必阅读)

本工具适用于学习和非生产场景。真实敏感数据(用户密码、身份证号、银行卡号、商业机密等)请使用经过安全审计的生产级加密库(如 OpenSSL、LibreSSL、云厂商的 KMS 密钥管理服务)。具体而言:ECB 模式不安全,相同明文产生相同密文;DES 的 56 位密钥已可被暴力破解;密钥管理和分发比加密本身更难——在任何地方记录密钥都可能被泄露。所有加密操作在浏览器端完成,密钥和明文不上传服务器,但浏览器的 JavaScript 运行环境本身不是安全边界。

命令行替代方案

# OpenSSL AES-256-CBC 加密 echo "Hello World" | openssl enc -aes-256-cbc -a -pbkdf2 -pass pass:MyKey # OpenSSL AES 解密 openssl enc -aes-256-cbc -d -a -pbkdf2 -pass pass:MyKey -in encrypted.txt # 生成 RSA 密钥对 openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048 openssl rsa -pubout -in private.pem -out public.pem # RSA 签名和验证 openssl dgst -sha256 -sign private.pem -out sig.bin data.txt openssl dgst -sha256 -verify public.pem -signature sig.bin data.txt