Sprawdzanie poprawności ciągu Base64 w C#

Witam. Chciałbym się zapytać o to, jak w języku C# zweryfikować poprawność ciągu Base64.

Najlepiej tak, aby była to zmienna typu bool, która wyrzuca false, gdy ciąg jest niepoprawny, a true, gdy jest poprawny. w moim zamyśle ma to wyglądać mniej więcej tak:

if(b64Verify == true)
{
kod na rozkodowanie ciągu Base64
}
else
{
MessageBox.Show(“Ciąg wprowadzony przez użytkownika jest niepoprawny”, “Błąd”);
}

Ale nie wiem jak to “rozkminić”.

Z góry dzięki za pomoc.

Co myślisz o takim rozwiązaniu?

Hmm. Dziękuję @iJuliusz, ale zmienną public chyba można zapodać tylko poza voidami… a kawałek mojego kodu wygląda tak:
image
tzn. wykonanie komendy sprawdzającej poprawność kodu zostanie wykonane nawet przed jego wprowadzeniem! Chyba że da się zrobić, aby ta zmienna została zadeklarowana dopiero po wciśnięciu przycisku btnDecode?

A zmienna tbxDecodeInput.Text skąd pobiera tekst do sprawdzenia?
Jest Global?
Jak jest inicjowana?

Rozumiem, że w tej chwili nie wiesz jak sprawdzić poprawność, więc kod działa, gdy ciąg nie jest pusty

A, i w ogóle, to dekoder i enkoder Base64.
Ten fragment kodu to akurat część odpowiedzialna za dekodowanie.

tbxDecodeInput to textBox, tam się wprowadza kod Base64 do rozkodowania. Z kolei tbxDecodeOutput to textBox odpowiedzialny za wyświetlanie już rozkodowanego kodu Base64.

i

Tak. Właśnie w tym elsie chciałem wrzucić jeszcze jednego ifa który sprawdza poprawność kodu Base64.

1 polubienie

Propozycja kodu

private void btnDecode_Click(object sender, EventArg e)
{
	if (string.IsNullOrEmpty(tbxDecodeInput.Text) || tbxDecodeInput.Text.Length % 4 != 0
        || tbxDecodeInput.Text.Contains(" ") || tbxDecodeInput.Text.Contains("\t") || tbxDecodeInput.Text.Contains("\r") || tbxDecodeInput.Text.Contains("\n"))
	{
		MessageBox.Show("Twoja wiadomość")
	}
	else
	...
}

Nie jestem tylko pewien, czy każdy z warunków if musi być we własnych nawiasach okrągłych

1 polubienie

Musi :slight_smile:
Dzięki za propozycję, jutro przetestuję, bo mi się już dziś nie chce otwierać visual studio.

Dzięki wielkie, działa!
Teraz nie wywala aplikacji po wprowadzeniu nieprawidłowego kodu Base64.

1 polubienie