【问题标题】:Invalid character in a Base-64 stringBase-64 字符串中的无效字符
【发布时间】:2011-03-04 12:46:21
【问题描述】:

在 C# 中获取一些与 Base-64 字符串相关的不同异常。以下是例外情况以及示例字符串。我对这个话题了解不多,但我相信我确实确认了以下字符串的长度是 4 的倍数。我希望这些问题都是相关的,但我不确定。任何帮助表示赞赏。

“Base-64 字符串中的无效字符。” DcxWhbe30oLrUI69U41gSnm7eU2c8qOx7k/eKnSaG3ZDlv8BIPHJKxl0DStVUtsjdxufrZd30K4IAl0XxBIKgKUlOt4k+nVPrfCnM4HHzw19GHnYlTr2DLhw6iD0goEnMk+bJG2xWQ4wRLLn8KOj6DdBxTes6sdpoeWKxcAHPZ2FFXqC3MfQ+SMMV7re9YiY9ZpudFFr1QVRMztzinK5YA==

“要解密的数据长度无效。” jq6xC0Dv+oeL0MXOei7wNIQgD+aon+S8N2ZfDyAO+5dlm/lIBYN+aCn2Xjnyi/XCzv7Liag5aaKXZ3b+7P7+R7lmarsT9ugnFrnvjInsvUxsbk4EAjIP55O9d7XXYnARW3yjW7klLyR0U9JjMVsISKThDtLe4rOJHgDvYahF454YOn5GlVXBoB+qNnLscGZ6

“Base-64 字符数组的长度无效。” C8MutyUPoTrmmnprFV3wqxMMVs7O5J4NA61jhZLaCSbwteklqGHFuuSlhf0mH8L5FLJ+jcrWuns2zz+Q/o5tA0DCDGnEAxDxKraR8Ip/iDUrTCS9ZAW0VrZpqUY4EPhyCbSpdU0OwfQ05eHXqwU6LIzz3gqavpi6AlMP9H5GYTaxsfQEByswjizWs5hO2ZmH

【问题讨论】:

  • 字符串中是否有换行符或不可见字符?
  • 你如何解码它们?我的Convert.FromBase64String 运行成功

标签: c# base64 encryption


【解决方案1】:

当我查看我使用什么来解码字符串以响应 Andrey 的问题时,我意识到我一直在做出一个让我对真正问题视而不见的假设。

数据字符串正在通过查询字符串参数传递,我假设在我收到的自定义错误消息中看到的参数是错误字符串,事实上,一点调试表明我实际上正在尝试的字符串decode 有空格。通过查询字符串发布字符串会导致所有加号 (+) 符号被解码为空格。我可以从那里解决这个问题。

感谢所有花时间阅读这个被误导的问题的人。

【讨论】:

  • 另请注意,ViewState 数据是 Base64 编码的,偶尔有错误的浏览器(旧版本的 Safari?)会截断 ViewState 并导致有时出现异常。
猜你喜欢
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-21
相关资源
最近更新 更多