1. RSA证书生成:自定义1024/2048/4096位密钥,输出标准PEM公私钥,文本框支持手动编辑、粘贴外部密钥;
2. RSA加解密模块:公钥加密任意文本,私钥解密,输出Base64密文,兼容RSA/RSA-OAEP;
3. RSA签名验签模块:私钥生成签名,公钥校验防篡改,适用于接口鉴权;
4. 纯前端本地运算,密钥不会上传服务器,支持复制、粘贴、手动修改密钥文本。
-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0dFzH5Qf9L1X7sFdX2Q 9x+9k2zW8f2aJx82jX7sFdX2Q0dFzH5Qf9L1X7sFdX2Q0fX7LwIDAQAB -----END PUBLIC KEY----- -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAtH18fnR/0vV+7BXd9kKCAgEA0dFzH5Qf9L1X7sFdX2Q ...省略... -----END RSA PRIVATE KEY-----
原文:Hello RSA加密测试
公钥加密输出密文(base64):aSdf923jsdfASD234...(一串长字符)
私钥解密后还原:Hello RSA加密测试
原文:用户支付订单100元
私钥生成签名:base64字符串
公钥校验:签名合法 / 签名被篡改(非法)
<?php
//1. 加密解密
$pub = file_get_contents("public.key");
$pri = file_get_contents("private.key");
$text = "测试文本";
//加密
openssl_public_encrypt($text, $enc, $pub, OPENSSL_PKCS1_OAEP_PADDING);
$base64 = base64_encode($enc);
//解密
$raw = base64_decode($base64);
openssl_private_decrypt($raw, $dec, $pri, OPENSSL_PKCS1_OAEP_PADDING);
echo $dec;
//2. 签名验签
$msg = "订单123";
openssl_sign($msg, $sign, $pri, OPENSSL_ALGO_SHA256);
$sign64 = base64_encode($sign);
//验签
$ok = openssl_verify($msg, base64_decode($sign64), $pub, OPENSSL_ALGO_SHA256);
var_dump($ok);
?>
1. 生产环境推荐4096位密钥,1024位存在破解风险;
2. 私钥严格保密,仅分发公钥给客户端;
3. 接口传输使用RSA-OAEP填充,安全性高于标准RSA;
4. 本工具仅用于开发调试,线上密钥建议OpenSSL命令行生成。