Heim >Backend-Entwicklung >C++ >Wie implementiert man URL-sichere Base64-Kodierung und -Dekodierung in C#?

Wie implementiert man URL-sichere Base64-Kodierung und -Dekodierung in C#?

Susan Sarandon
Susan SarandonOriginal
2025-01-25 03:17:09317Durchsuche

How to Implement URL-Safe Base64 Encoding and Decoding in C#?

Die URL -Sicherheitsbasis64 codieren

Base64 -Codierung ist eine übliche Codierungsmethode, aber wenn URL -Sicherheitscodierung durchgeführt wird, können einige Zeichen (,/und =) Probleme verursachen. Obwohl die Codec -Bibliothek von Java eine direkte Lösung bietet, erfordert C# ein wenig unterschiedliche Möglichkeiten.

Implementieren Sie URL -Sicherheitscodierung

Um die URL-Sicherheitsbasis64-Codierung in C#zu implementieren, können Sie einfach die problematischen Zeichen durch URL-freundliche Zeichen (-Replacement, _ Ersatz /) ersetzen und ein beliebiges Füllzeichen (=) löschen.

Unter ihnen ist die Polsterung definiert als:

<code class="language-csharp">string returnValue = System.Convert.ToBase64String(toEncodeAsBytes)
        .TrimEnd(padding).Replace('+', '-').Replace('/', '_');</code>

Um diesen Prozess umzukehren:

<code class="language-csharp">static readonly char[] padding = { '=' };</code>

Vergleich mit der Codec -Bibliothek

<code class="language-csharp">string incoming = returnValue
    .Replace('_', '/').Replace('-', '+');
switch(returnValue.Length % 4) {
    case 2: incoming += "=="; break;
    case 3: incoming += "="; break;
}
byte[] bytes = Convert.FromBase64String(incoming);
string originalText = Encoding.ASCII.GetString(bytes);</code>

Es ist erwähnenswert, dass diese Methode der Methode zur Verwendung der Codec -Bibliothek von Java ähnelt. Es wird jedoch empfohlen, diese Annahme zu testen, um sicherzustellen, dass sie mit bestimmten verwendeten Bibliotheken kompatibel ist.

Das obige ist der detaillierte Inhalt vonWie implementiert man URL-sichere Base64-Kodierung und -Dekodierung in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn