c#解码base64-Base-64 char数组或字符串的长度无效

时间:2018-07-23 03:16:46

标签: c#

我在解码此base64字符串时遇到问题,它总是返回'Base-64 char数组或字符串的无效长度'。 但是我设法在'https://www.base64decode.org/'

在线解码

这些是我的代码:

string base64Encoded = "eyJ4NXQjUzI1NiI6IndVWUdZWXp5dTJPMzNtVjY1WHFBVzBiTFlMeU5TU2VKZFlGTldKNnpzY0kiLCJ4NXQiOiJ0V3lmNTA0aTM3TXZxN0t1eEVyQTY4VTE4c1kiLCJraWQiOiJTSUdOSU5HX0tFWSIsImFsZyI6IlJTMjU2In0";

string base64Decoded;

byte[] data = Convert.FromBase64String(base64Encoded);

base64Decoded = Encoding.UTF8.GetString(data);

1 个答案:

答案 0 :(得分:1)

我已经进行了一些测试,根据注释,您不需要填充,但是如果您尝试对解码的字符串进行编码: {"x5t#S256":"wUYGYYzyu2O33mV65XqAW0bLYLyNSSeJdYFNWJ6zscI","x5t":"tWyf504i37Mvq7KuxErA68U18sY","kid":"SIGNING_KEY","alg":"RS256"}

它为您提供: eyJ4NXQjUzI1NiI6IndVWUdZWXp5dTJPMzNtVjY1WHFBVzBiTFlMeU5TU2VKZFlGTldKNnpzY0kiLCJ4NXQiOiJ0V3lmNTA0aTM3TXZxN0t1eEVyQTY4VTE4c1kiLCJraWQiOiJTSUdOSU5HX0tFWSIsImFsZyI6IlJTMjU2In0=

注意最后的填充。