我有这个脚本,它下载base64编码的文本并尝试解码它。
同时我的脚本是这样的:
powershell.exe "set-ExecutionPolicy unrestricted ; $WebClient = New-Object net.WebClient ; $string$WebClient.DownloadString('http://127.0.0.1:1234/b64.txt'); [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($string))"
下载部分工作得很好,但解码部分似乎给出了以下例外:
Exception calling "FromBase64String" with "1" argument(s): "Invalid length for
a Base-64 char array."
At line:1 char:222
+ set-ExecutionPolicy unrestricted ; $WebClient = New-Object net.WebClient ; $s
tring = $WebClient.DownloadString('http://127.0.0.1:1234/b6464.txt'); [System.
Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String <<<< ($string
))
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
任何线索为何会发生这种情况?非常感谢!!!
答案 0 :(得分:1)
我希望base64编码字符串不是有效长度:并非所有长度都有效(每个编码字符提供5位数据,但结果数据需要是8位的倍数。
EG。它的末尾缺少一个或两个填充字符。