checking base64 format fix
This commit is contained in:
@@ -137,7 +137,26 @@ public class DataInboxController : Controller
|
|||||||
// helpers
|
// helpers
|
||||||
private bool IsBase64String(string data)
|
private bool IsBase64String(string data)
|
||||||
{
|
{
|
||||||
var bytes = new Span<byte>(new byte[256]);
|
if (string.IsNullOrEmpty(data))
|
||||||
return Convert.TryFromBase64String(data, bytes, out _);
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var base64Bytes = Convert.FromBase64String(data);
|
||||||
|
|
||||||
|
var utf8String = Encoding.UTF8.GetString(base64Bytes);
|
||||||
|
|
||||||
|
var reEncoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(utf8String));
|
||||||
|
return data.TrimEnd('=') == reEncoded.TrimEnd('=');
|
||||||
|
}
|
||||||
|
catch (FormatException)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
catch (DecoderFallbackException)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user