[{"data":1,"prerenderedAt":713},["ShallowReactive",2],{"tool-content:asymmetric-encryption":3,"published-tool-content":503},{"id":4,"title":5,"body":6,"category":473,"dataVersion":474,"description":475,"extension":476,"featured":477,"icon":478,"keywords":479,"meta":490,"navigation":477,"path":491,"seo":492,"seoTitle":493,"slug":494,"status":495,"stem":496,"updatedAt":497,"usageTips":498,"__hash__":502},"tools\u002Ftools\u002Fasymmetric-encryption.md","RSA 非对称加解密工具",{"type":7,"value":8,"toc":446},"minimark",[9,13,23,26,39,42,45,57,65,68,71,75,78,95,98,101,104,107,140,143,256,259,262,265,304,307,310,314,317,328,331,338,341,345,348,353,356,361,364,367,394,401,404,408,411,415,418,422,425,429,432,436,439,443],[10,11,12],"h2",{"id":12},"什么时候使用",[14,15,16,17,22],"p",{},"适合使用接收方 RSA 公钥加密一小段敏感文本，再由接收方私钥解密。RSA 有严格的单次明文长度上限，较长正文请使用 ",[18,19,21],"a",{"href":20},"\u002Ftools\u002Fhybrid-encryption\u002F","RSA + AES 混合加解密工具","。",[10,24,25],{"id":25},"快速使用",[27,28,29,33,36],"ol",{},[30,31,32],"li",{},"保持默认的 2048 位 + OAEP + SHA-256，生成密钥对或粘贴已有密钥。",[30,34,35],{},"加密时输入公钥和短文本；解密时输入配套私钥及 Base64 密文。",[30,37,38],{},"根据页面显示的 UTF-8 字节上限控制明文长度，并在离开页面前保存私钥。",[10,40,41],{"id":41},"工具说明",[14,43,44],{},"这个工具使用 RSA 公钥加密、私钥解密 UTF-8 短文本，支持以下配置：",[46,47,48,51,54],"ul",{},[30,49,50],{},"密钥长度：1024、2048、3072、4096 位。",[30,52,53],{},"填充模式：OAEP、PKCS#1 v1.5。",[30,55,56],{},"OAEP 哈希：SHA-1、SHA-256、SHA-384、SHA-512。",[14,58,59,60,64],{},"默认选择 ",[61,62,63],"code",{},"2048 位 + OAEP + SHA-256","。密钥生成、导入、加密和解密都在当前浏览器中完成，不会上传或保存。",[14,66,67],{},"当前页面生成固定的 SPKI PEM 公钥和 PKCS#8 PEM 私钥；导入时额外兼容 PKCS#1、RSA JWK，以及包含 RSA 公钥的 X.509 PEM 证书。密文始终输出标准 Base64，不会自动携带填充方式或 OAEP 哈希。",[10,69,70],{"id":70},"如何使用",[72,73,74],"h3",{"id":74},"选择参数并生成密钥",[14,76,77],{},"选择密钥长度、填充和 OAEP 哈希后，点击“生成密钥对”：",[46,79,80,86,92],{},[30,81,82,83,22],{},"公钥使用 SPKI PEM，标记为 ",[61,84,85],{},"BEGIN PUBLIC KEY",[30,87,88,89,22],{},"私钥使用 PKCS#8 PEM，标记为 ",[61,90,91],{},"BEGIN PRIVATE KEY",[30,93,94],{},"密文使用标准 Base64。",[14,96,97],{},"生成格式保持固定，方便保存和跨系统传递；粘贴外部密钥时还支持更多输入格式。",[14,99,100],{},"同一份 RSA 密钥可以用于不同填充方式，但加密和解密时选择的填充及 OAEP 哈希必须一致。",[72,102,103],{"id":103},"公钥加密",[14,105,106],{},"输入或生成公钥后，工具会识别以下格式，并统一转换为 SPKI 后执行加密：",[46,108,109,114,120,127],{},[30,110,111,112,22],{},"SPKI PEM：",[61,113,85],{},[30,115,116,117,22],{},"PKCS#1 PEM：",[61,118,119],{},"BEGIN RSA PUBLIC KEY",[30,121,122,123,126],{},"X.509 PEM 证书：",[61,124,125],{},"BEGIN CERTIFICATE","，提取其中的 RSA 公钥。",[30,128,129,130,133,134,133,137,22],{},"RSA JWK：至少包含 ",[61,131,132],{},"kty","、",[61,135,136],{},"n",[61,138,139],{},"e",[14,141,142],{},"页面会显示识别到的输入格式、真实模数长度，并根据当前填充动态显示最大 UTF-8 明文字节数。",[144,145,146,172],"table",{},[147,148,149],"thead",{},[150,151,152,156,160,163,166,169],"tr",{},[153,154,155],"th",{},"密钥长度",[153,157,159],{"align":158},"right","OAEP + SHA-1",[153,161,162],{"align":158},"OAEP + SHA-256",[153,164,165],{"align":158},"OAEP + SHA-384",[153,167,168],{"align":158},"OAEP + SHA-512",[153,170,171],{"align":158},"PKCS#1 v1.5",[173,174,175,196,216,236],"tbody",{},[150,176,177,181,184,187,190,193],{},[178,179,180],"td",{},"1024 位",[178,182,183],{"align":158},"86 字节",[178,185,186],{"align":158},"62 字节",[178,188,189],{"align":158},"30 字节",[178,191,192],{"align":158},"不支持",[178,194,195],{"align":158},"117 字节",[150,197,198,201,204,207,210,213],{},[178,199,200],{},"2048 位",[178,202,203],{"align":158},"214 字节",[178,205,206],{"align":158},"190 字节",[178,208,209],{"align":158},"158 字节",[178,211,212],{"align":158},"126 字节",[178,214,215],{"align":158},"245 字节",[150,217,218,221,224,227,230,233],{},[178,219,220],{},"3072 位",[178,222,223],{"align":158},"342 字节",[178,225,226],{"align":158},"318 字节",[178,228,229],{"align":158},"286 字节",[178,231,232],{"align":158},"254 字节",[178,234,235],{"align":158},"373 字节",[150,237,238,241,244,247,250,253],{},[178,239,240],{},"4096 位",[178,242,243],{"align":158},"470 字节",[178,245,246],{"align":158},"446 字节",[178,248,249],{"align":158},"414 字节",[178,251,252],{"align":158},"382 字节",[178,254,255],{"align":158},"501 字节",[14,257,258],{},"页面显示和校验的是 UTF-8 字节数，不是 JavaScript 字符数。",[72,260,261],{"id":261},"私钥解密",[14,263,264],{},"输入配套私钥、标准 Base64 密文，并选择加密时使用的填充和 OAEP 哈希。私钥支持：",[46,266,267,272,277],{},[30,268,269,270,22],{},"PKCS#8 PEM：",[61,271,91],{},[30,273,116,274,22],{},[61,275,276],{},"BEGIN RSA PRIVATE KEY",[30,278,279,280,133,282,133,284,286,287,133,290,133,292,133,295,133,298,133,301,22],{},"RSA 私钥 JWK：除 ",[61,281,132],{},[61,283,136],{},[61,285,139],{}," 外，还必须包含 ",[61,288,289],{},"d",[61,291,14],{},[61,293,294],{},"q",[61,296,297],{},"dp",[61,299,300],{},"dq",[61,302,303],{},"qi",[14,305,306],{},"输入会先统一转换为 PKCS#8。参数、私钥或密文不匹配时，解密会失败。",[10,308,309],{"id":309},"填充方式",[72,311,313],{"id":312},"oaep","OAEP",[14,315,316],{},"OAEP 是默认推荐模式。OAEP 使用的摘要算法同时用于主哈希和 MGF1：",[46,318,319,322,325],{},[30,320,321],{},"SHA-256：默认推荐，兼容性和安全性较均衡。",[30,323,324],{},"SHA-384、SHA-512：摘要更长，因此可直接加密的明文更短。",[30,326,327],{},"SHA-1：只用于兼容旧系统。",[72,329,171],{"id":330},"pkcs1-v15",[14,332,333,334,337],{},"PKCS#1 v1.5 只用于对接仍要求 ",[61,335,336],{},"RSA\u002FECB\u002FPKCS1Padding"," 的旧系统。它不具备 OAEP 的现代安全属性，不应作为新系统默认配置。",[14,339,340],{},"本工具不会提供不安全的 RSA NoPadding。",[10,342,344],{"id":343},"为什么只能处理短文本","为什么只能处理短文本？",[14,346,347],{},"OAEP 最大明文长度按下面的公式计算：",[14,349,350],{},[61,351,352],{},"模数长度 \u002F 8 - 2 × 哈希字节数 - 2",[14,354,355],{},"PKCS#1 v1.5 最大明文长度为：",[14,357,358],{},[61,359,360],{},"模数长度 \u002F 8 - 11",[14,362,363],{},"RSA 不适合直接加密大量数据。实际系统通常用 AES 加密正文，再用 RSA 公钥加密 AES 密钥，这称为混合加密。",[10,365,366],{"id":366},"格式和实现范围",[46,368,369,372,379,382,385,388,391],{},[30,370,371],{},"OAEP 和 RSA 密钥生成使用浏览器 Web Crypto。",[30,373,374,375,378],{},"PKCS#1 v1.5 使用 ",[61,376,377],{},"node-forge","，只在当前浏览器中运行。",[30,380,381],{},"生成公钥固定为 SPKI PEM，生成私钥固定为 PKCS#8 PEM。",[30,383,384],{},"导入兼容 SPKI、PKCS#1、X.509 PEM 公钥和 RSA JWK，以及 PKCS#8、PKCS#1 PEM 私钥和 RSA JWK。",[30,386,387],{},"密文格式为标准 Base64，不附带填充或哈希元数据。",[30,389,390],{},"X.509 只提取 RSA 公钥，不校验证书链、有效期或用途。",[30,392,393],{},"不提供数字签名、证书生成、ECC、文件处理或混合加密封装。",[14,395,396,397,22],{},"本页面不会把密钥重新导出为其他容器格式；如需在 SPKI、PKCS#1、PKCS#8、JWK 和 Base64 DER 之间转换，请使用 ",[18,398,400],{"href":399},"\u002Ftools\u002Frsa-key-converter\u002F","RSA 密钥格式转换与解析工具",[10,402,403],{"id":403},"常见问题",[72,405,407],{"id":406},"为什么-1024-位没有-oaep-sha-512","为什么 1024 位没有 OAEP + SHA-512？",[14,409,410],{},"1024 位 RSA 模数只有 128 字节，扣除 SHA-512 OAEP 所需空间后无法容纳任何明文，因此页面不会提供这个组合。",[72,412,414],{"id":413},"为什么粘贴公钥后最大长度会变化","为什么粘贴公钥后最大长度会变化？",[14,416,417],{},"工具会读取当前公钥的真实模数长度，并结合当前填充和 OAEP 哈希重新计算上限，不只依赖生成密钥时的选择。",[72,419,421],{"id":420},"为什么证书只能用于公钥加密","为什么证书只能用于公钥加密？",[14,423,424],{},"X.509 证书只包含公钥和证书元数据，不包含私钥。本工具只提取其中的 RSA 公钥，也不会校验证书链或判断证书是否可信。",[72,426,428],{"id":427},"公钥和私钥可以互换使用吗","公钥和私钥可以互换使用吗？",[14,430,431],{},"不可以。本工具只支持公钥加密、私钥解密。数字签名是另一套用途和流程。",[72,433,435],{"id":434},"私钥会上传吗","私钥会上传吗？",[14,437,438],{},"不会。私钥只保存在当前页面内存中，但仍不应在不可信设备上处理生产私钥。",[72,440,442],{"id":441},"刷新页面后还能找回密钥吗","刷新页面后还能找回密钥吗？",[14,444,445],{},"不能。工具不把密钥写入本地存储，请在离开页面前自行保存。",{"title":447,"searchDepth":448,"depth":448,"links":449},"",2,[450,451,452,453,459,463,464,465],{"id":12,"depth":448,"text":12},{"id":25,"depth":448,"text":25},{"id":41,"depth":448,"text":41},{"id":70,"depth":448,"text":70,"children":454},[455,457,458],{"id":74,"depth":456,"text":74},3,{"id":103,"depth":456,"text":103},{"id":261,"depth":456,"text":261},{"id":309,"depth":448,"text":309,"children":460},[461,462],{"id":312,"depth":456,"text":313},{"id":330,"depth":456,"text":171},{"id":343,"depth":448,"text":344},{"id":366,"depth":448,"text":366},{"id":403,"depth":448,"text":403,"children":466},[467,468,469,470,471,472],{"id":406,"depth":456,"text":407},{"id":413,"depth":456,"text":414},{"id":420,"depth":456,"text":421},{"id":427,"depth":456,"text":428},{"id":434,"depth":456,"text":435},{"id":441,"depth":456,"text":442},"crypto","rsa-key-import-v4","使用 RSA 公钥加密、私钥解密短文本；支持常见 PEM、JWK、X.509 公钥和旧系统兼容参数。","md",true,"i-lucide-key-round",[480,481,482,483,484,485,486,487,488,489],"RSA 加密","RSA 解密","RSA-OAEP","PKCS1Padding","OAEPWithSHA-256AndMGF1Padding","RSA 密钥生成","PEM 密钥","RSA JWK","PKCS#1 密钥","X.509 证书",{},"\u002Ftools\u002Fasymmetric-encryption",{"title":5,"description":475},"RSA 加解密工具 - OAEP、PKCS#1 v1.5 与 1024\u002F2048\u002F3072\u002F4096 位密钥","asymmetric-encryption","published","tools\u002Fasymmetric-encryption","2026-07-25",[499,500,501],"新数据保持默认的 2048 位 RSA、OAEP 和 SHA-256","页面会按真实密钥和填充显示明文上限；较长文本请使用 RSA + AES 混合加密","PKCS#1 v1.5、OAEP + SHA-1 和 1024 位密钥只用于明确的旧系统兼容","5LD8SfwWMjTjBwEnLM4fd8r1nss05SaVyRMhgZIFv24",[504,506,518,530,544,556,567,579,591,603,615,626,639,652,664,678,690,701],{"slug":494,"title":5,"description":475,"status":495,"icon":478,"keywords":505,"featured":477},[480,481,482,483,484,485,486,487,488,489],{"slug":507,"title":508,"description":509,"status":495,"icon":510,"keywords":511,"featured":477},"base58-converter","Base58 编解码工具","在线使用 Bitcoin Base58 编解码 UTF-8 文本或 Hex 字节，并以文本、Hex 或二进制文件查看解码结果。","i-lucide-binary",[512,513,514,515,516,517],"Base58 编解码","Base58 编码","Base58 解码","Bitcoin Base58","Hex 转 Base58","Base58 在线工具",{"slug":519,"title":520,"description":521,"status":495,"icon":522,"keywords":523,"featured":477},"base64-converter","Base64 编解码工具","在线转换标准 Base64 与 Base64URL，支持 UTF-8 文本、Hex 字节、文件编码及二进制解码下载。","i-lucide-file-key-2",[524,525,526,527,528,529],"Base64 编解码","Base64URL","文件转 Base64","Hex 转 Base64","Base64 解码","Base64 在线工具",{"slug":531,"title":532,"description":533,"status":495,"icon":534,"keywords":535,"featured":477},"chacha20-poly1305","ChaCha20-Poly1305 加解密工具","使用 ChaCha20 或 XChaCha20-Poly1305 安全加解密文本，适合现代 AEAD 或对接 RFC 8439 的场景。","i-lucide-shield-check",[536,537,538,539,540,541,542,543],"ChaCha20-Poly1305","XChaCha20-Poly1305","ChaCha20 加密","Poly1305","RFC 8439","AEAD","AAD","PBKDF2",{"slug":545,"title":546,"description":547,"status":495,"icon":548,"keywords":549,"featured":477},"hex-converter","Hex 编解码工具","在线转换 UTF-8 文本与十六进制字节，支持大小写、0x 前缀以及空格或冒号分隔格式。","i-lucide-hash",[550,551,552,553,554,555],"Hex 编解码","十六进制编码","十六进制解码","文本转 Hex","0x Hex","Hex 在线工具",{"slug":557,"title":21,"description":558,"status":495,"icon":559,"keywords":560,"featured":477},"hybrid-encryption","使用接收方 RSA 公钥加密较长文本：RSA 包装随机 AES-256 密钥，正文由 AES-GCM 保护。","i-lucide-package-check",[561,562,482,563,564,565,566],"混合加密","RSA AES","AES-256-GCM","数字信封","会话密钥","Hybrid Encryption",{"slug":568,"title":569,"description":570,"status":495,"icon":571,"keywords":572,"featured":477},"json-formatter","JSON 格式化与校验工具","在线校验、格式化和压缩 JSON 数据，支持 JSONC 单行与块注释，可准确定位格式错误，内容仅在浏览器本地处理。","i-lucide-braces",[573,574,575,576,577,578],"JSON 格式化","JSON 校验","JSON 压缩","JSONC","JSON 在线工具","JSON 注释",{"slug":580,"title":581,"description":582,"status":495,"icon":583,"keywords":584,"featured":477},"md5-generator","MD5 哈希工具","在线计算文本或文件的 MD5 摘要，支持十六进制大小写和 Base64 输出，内容仅在浏览器本地处理。","i-lucide-fingerprint",[585,586,587,588,589,590],"MD5 工具","MD5 哈希","文件 MD5","MD5 Base64","文本 MD5","MD5 摘要",{"slug":592,"title":593,"description":594,"status":495,"icon":595,"keywords":596,"featured":477},"qr-code","二维码生成与识别工具","在线生成二维码并下载 PNG 或 SVG，也可上传图片识别二维码内容；文本和图片只在浏览器本地处理。","i-lucide-qr-code",[597,598,599,600,601,602],"二维码生成","二维码识别","二维码解析","QR Code","在线二维码工具","二维码图片",{"slug":604,"title":400,"description":605,"status":495,"icon":522,"keywords":606,"featured":477},"rsa-key-converter","识别 RSA 密钥或证书的实际格式，在 PEM、DER、JWK 之间转换，并用指纹核对是否为同一公钥。",[607,608,609,610,611,612,613,614],"RSA 密钥转换","PEM 转 JWK","JWK 转 PEM","PKCS#1 转 PKCS#8","SPKI 公钥","DER 解析","X.509 证书解析","RSA 指纹",{"slug":616,"title":617,"description":618,"status":495,"icon":534,"keywords":619,"featured":477},"sha256-generator","SHA-256 哈希工具","在线计算文本或文件的 SHA-256 摘要，支持十六进制大小写和 Base64 输出，内容仅在浏览器本地处理。",[620,621,622,623,624,625],"SHA-256 工具","SHA256 哈希","文件 SHA256","SHA256 Base64","文本 SHA256","SHA-256 摘要",{"slug":627,"title":628,"description":629,"status":495,"icon":478,"keywords":630,"featured":477},"sm2-encryption","SM2 公钥加解密工具","面向国密公钥加密生成 SM2 密钥对并处理文本，支持常见 C1C3C2 与旧式 C1C2C3 排列。",[631,632,633,634,635,636,637,638],"SM2 加密","SM2 解密","C1C3C2","C1C2C3","国密算法","SM2 密钥生成","压缩公钥","Hex 密文",{"slug":640,"title":641,"description":642,"status":495,"icon":643,"keywords":644,"featured":477},"sm4-encryption","SM4 对称加解密工具","面向国密系统使用 SM4-CBC 或 SM4-ECB 加解密文本，并与 Hex、Base64 密文接口联调。","i-lucide-lock-keyhole",[645,646,647,648,649,650,635,638,651],"SM4 加密","SM4 解密","SM4-CBC","SM4-ECB","PKCS7","NoPadding","Base64 密文",{"slug":653,"title":654,"description":655,"status":495,"icon":656,"keywords":657,"featured":477},"social-insurance","五险一金计算器","按城市、逐月工资、个人缴费基数和专项附加扣除，估算个人五险一金、累计预扣个税与税后收入。","i-lucide-calculator",[658,659,660,661,662,663],"五险一金","社保计算","公积金计算","缴费基数","税后工资","个税计算",{"slug":665,"title":666,"description":667,"status":495,"icon":643,"keywords":668,"featured":477},"symmetric-encryption","AES 对称加解密工具","使用共享密钥或口令加解密文本；默认采用 AES-256-GCM，并保留 CBC、CTR、CFB、ECB 等兼容模式。",[669,670,671,672,673,674,675,543,676,677],"AES 加密","AES 解密","AES-GCM","AES-CBC","AES-ECB","PKCS7Padding","ZeroPadding","AES AAD","AES 原始参数",{"slug":679,"title":680,"description":681,"status":495,"icon":682,"keywords":683,"featured":477},"timestamp-converter","时间戳转换工具","在线完成 Unix 时间戳与日期时间互转，自动识别秒或毫秒，支持 IANA 时区和多行批量转换。","i-lucide-clock-3",[684,685,686,687,688,689],"时间戳转换","Unix 时间戳","timestamp","日期转时间戳","时间戳转日期","毫秒时间戳",{"slug":691,"title":692,"description":693,"status":495,"icon":510,"keywords":694,"featured":477},"unicode-converter","Unicode 转换工具","在线将中文、Emoji 等普通文本转换为 \\uXXXX Unicode 转义，或把 Unicode 转义还原为可读文本，内容仅在浏览器本地处理。",[695,696,697,698,699,700],"Unicode 转换","Unicode 转中文","中文转 Unicode","Unicode 编码","Unicode 解码","Unicode 在线工具",{"slug":702,"title":703,"description":704,"status":495,"icon":705,"keywords":706,"featured":477},"yaml-json-converter","YAML 校验与 JSON 互转工具","在线校验 YAML 或 JSON 格式，并在 YAML 与标准 JSON 之间双向转换，可定位常见语法错误，内容仅在浏览器本地处理。","i-lucide-file-json-2",[707,708,709,710,711,712],"YAML 校验","YAML 转 JSON","JSON 转 YAML","YAML JSON 互转","YAML 在线工具","YAML 格式检查",1784957143881]