C# FromBase64String的问题
使用FromBase64String出现报错,提示说“Base-64字符数组的无效长度”,百度后知道是参数的长度等于4或4的偶数倍数。请教下如何将原始加密字符“1+LKt...
使用FromBase64String出现报错,提示说“Base-64 字符数组的无效长度”,百度后知道是参数的长度等于4或4的偶数倍数。
请教下如何将原始加密字符“1+LKtQAIAABhDwAAAgEqoA4TBgdB04cZDJ0wJQ”进行转换,使用其他转换工具可以转换出对应的ASCII为“租实”,对应的HEX为D7E2CAB500080000610F000002012AA00E13060741D387190C9D3025
看上去很接近了,不过位数不同?我在value后添加8个"=",刚好长度等于48,是4的12倍,符合条件,但转换,但会报错Base-64 字符数组的无效长度。可以请教下是什么原因造成的吗? 展开
请教下如何将原始加密字符“1+LKtQAIAABhDwAAAgEqoA4TBgdB04cZDJ0wJQ”进行转换,使用其他转换工具可以转换出对应的ASCII为“租实”,对应的HEX为D7E2CAB500080000610F000002012AA00E13060741D387190C9D3025
看上去很接近了,不过位数不同?我在value后添加8个"=",刚好长度等于48,是4的12倍,符合条件,但转换,但会报错Base-64 字符数组的无效长度。可以请教下是什么原因造成的吗? 展开
1个回答
展开全部
你这怎么可能是 ASCII?这一定是 GB2312 啊。
public static string Base64Decode(string value)
{
while (value.Length % 4 != 0)
{
value += "=";
}
return Encoding.GetEncoding("gb2312").GetString(Convert.FromBase64String(value));
}
System.Convert 下的 BASE64 转换方法是标准 BASE64 方法,不足位会用“=”补齐。
追问
朋友你好,我用你的方法转换后的结果D7E2CAB5080061F00212AA0E136741D38719C9D3025
正确的值应该是D7E2CAB500080000610F000002012AA00E13060741D387190C9D3025
还有部分消息补充在上面,追问字数有限制,比较乱,见谅
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询