diff --git a/WebAPI/Controllers/DataInboxController.cs b/WebAPI/Controllers/DataInboxController.cs index 64560d0..a036493 100644 --- a/WebAPI/Controllers/DataInboxController.cs +++ b/WebAPI/Controllers/DataInboxController.cs @@ -137,7 +137,26 @@ public class DataInboxController : Controller // helpers private bool IsBase64String(string data) { - var bytes = new Span(new byte[256]); - return Convert.TryFromBase64String(data, bytes, out _); + if (string.IsNullOrEmpty(data)) + { + 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; + } } } \ No newline at end of file