You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XXD转换无输出?如何将RSA公钥模数转URL安全Base64

解决RSA模数十六进制转URL安全Base64的问题

问题根源

你遇到的xxd无输出问题,大概率是输入的十六进制字符串包含换行、空格等非十六进制字符——xxd的-r -p模式会忽略非十六进制字符,但如果输入被分割成多行或夹杂空白,可能导致转换后的二进制数据为空/不完整,且xxd仍会返回0(无错误提示)。

修复后的Shell命令

直接修改原命令,加入清理非十六进制字符的步骤,同时生成符合要求的URL安全Base64:

openssl rsa -in Key.pem -noout -modulus | sed -e 's/Modulus=//' -e '/^$/d' -e 's/[[:space:]]//g' | xxd -r -p | openssl base64 -A | tr '+/' '-_' | tr -d '=' > KeyPairPubMod.b64

各部分作用:

  • sed -e 's/Modulus=//':移除前缀Modulus=
  • -e '/^$/d':删除空行
  • -e 's/[[:space:]]//g':清除所有空格、换行,确保十六进制字符串连续
  • xxd -r -p:将纯十六进制字符串转为二进制
  • openssl base64 -A:生成单行Base64(默认多行格式)
  • tr '+/' '-_':替换为URL安全的Base64字符
  • tr -d '=':移除末尾的填充等号(匹配你期望的结果格式)

验证你的测试数据

用你提供的十六进制字符串测试,可将字符串存入modulus.hex文件,然后执行:

cat modulus.hex | tr -d '\n' | xxd -r -p | openssl base64 -A | tr '+/' '-_' | tr -d '='

执行后会直接输出你期望的URL安全Base64字符串。

更可靠的Python方案

如果Shell工具的兼容性让你头疼,用Python脚本更直观:

import base64

# 替换为你的十六进制模数
hex_modulus = "9DDBBD4D44FE8A2263E2EBF1313D095EC77BE9826C6B06A4973464808E12DC91DC1B2F2A8DC52F2CA83A9E02D5508BC04687E1C9658A7DC679D7144589DE0BAAF09873340F098D303D7E88C71D7C2136E7C5EB785C853CAE248B39132CC4FD364AE77594991E6D9D205E7A8659E1707390B10F7238AC3C3D27103A5F3AFCE0588D2144AC981303C8DF9D3F8B6057D6B9E03942096C4D64E005F55047ED335167F1FDA409D0C96BBFF9B951A2AE2062C0591A646F79A96E47B469D372CCFCC479D92D84F0F0AED684F862E9DED9B6166EA9B2AF526096D9AFF31551EDA07D714CFD955EC1E1A0DE806E11C0ED16D38AAD3E6B3E4555CDA492117D072552DEC1BC3DA0232F35EF203C5A1F4EDEF7A85C17595DCB8E8BEFBA81804F37D58D02838F35E253C9E3D97815C1E01DE95C83F625C00254AC373B6EC15E1B36071F9486EAD0ACDF93D9AE9A8A3227041F3A8EA9D990E753A0F45B7AF89737B0A7D6A7A4C1680867EFA6311FA3A25FDFF34B5507BCF9D34B2B6069B3583ABC08B64270979D"
binary_modulus = bytes.fromhex(hex_modulus)
url_safe_b64 = base64.urlsafe_b64encode(binary_modulus).decode('utf-8').rstrip('=')
print(url_safe_b64)

运行脚本即可直接得到目标结果,无需依赖Shell工具的参数细节。

内容的提问来源于stack exchange,提问作者hkc94501

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:10:02