Converting.FromBase64String抛出了一个Format Exception

时间:2014-02-13 00:44:53

标签: asp.net asp.net-mvc-3 encryption base64

我正在尝试检查用户名是否为base64字符串。即使字符串是base64编码,它仍然会抛出非法异常错误消息。我在这里缺少什么?

public bool checkBase64String(string value) //value = “TWrXfr4gGTE%3d”
       {
            try
            {
                byte[] vArray = Convert.FromBase64String(value);
                return true;
            }
            catch (FormatException ex)
            {
                ex.ToString();
            }
            return false;
        }

输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非法字符。

1 个答案:

答案 0 :(得分:10)

输入为URL编码,尾随=变为%3d。在转换之前需要将其解码为TWrXfr4gGTE=

小提琴...... http://dotnetfiddle.net/S8UpdJ