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

如何解码SAML?求助解码国税部门的SAML编码消息

解码疑似SAML格式国税消息的步骤

SAML消息核心是XML格式,通常会经过DEFLATE压缩+Base64编码(部分场景直接Base64),你用工具失败大概率是没处理压缩环节,试试以下分步操作:

  • 先清理原始字符串:如果消息来自URL参数(比如带SAMLResponse=前缀),只保留=后面的编码内容,确保没有多余空格、换行或截断。
  • 分步解码:
    1. 先尝试直接Base64解码:
      • Linux/macOS命令行:echo "你的编码字符串" | base64 -d
      • Windows PowerShell:[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("你的编码字符串"))
        如果输出是清晰的XML(开头有<saml:Assertion>或<samlp:Response>标签),就完成了;如果是乱码,说明有DEFLATE压缩,继续下一步。
    2. 处理DEFLATE压缩:
      • Linux/macOS命令行:echo "你的编码字符串" | base64 -d | zcat
      • Windows可以用PowerShell脚本处理压缩字节流:
        $encoded = "你的编码字符串"
        $bytes = [System.Convert]::FromBase64String($encoded)
        $stream = New-Object System.IO.MemoryStream($bytes)
        $deflate = New-Object System.IO.Compression.DeflateStream($stream, [System.IO.Compression.CompressionMode]::Decompress)
        $reader = New-Object System.IO.StreamReader($deflate)
        $xmlContent = $reader.ReadToEnd()
        $reader.Close()
        $deflate.Close()
        $stream.Close()
        Write-Output $xmlContent
        
  • 工具使用技巧:如果再用在线解码工具,务必勾选Decode DEFLATE选项(多数SAML工具都有这个开关),之前可能漏了这一步导致失败。

另外注意:部分国税系统可能对SAML消息做了URL编码,这种情况要先做URL解码,再执行上述Base64+DEFLATE操作。

内容的提问来源于stack exchange,提问作者János

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:20:18