Heim >Backend-Entwicklung >C++ >Wie führe ich eine URL-sichere Base64-Kodierung und -Dekodierung in ASP.NET durch?

Wie führe ich eine URL-sichere Base64-Kodierung und -Dekodierung in ASP.NET durch?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-11 22:01:47223Durchsuche

How to Perform URL-Safe Base64 Encoding and Decoding in ASP.NET?

URL-sichere Base64-Kodierung/Dekodierung in ASP.NET Framework

Base64-Kodierung wird häufig verwendet, um binäre Daten in ein Textformat für die Übertragung über ein Netzwerk zu kodieren. Allerdings enthält die standardmäßige Base64-Kodierung Zeichen (insbesondere „ “ und „/“), die URI-Vorlagen und URLs beeinträchtigen können.

Um dieses Problem zu lösen, gibt es eine modifizierte Version der Base64-Kodierung speziell für URLs. In dieser Variante werden „ “ und „/“ durch „-“ bzw. „_“ ersetzt und das Füllzeichen „=" entfällt.

Die Implementierung einer modifizierten Version von Base64 für URLs im ASP.NET-Framework kann die folgende Methode verwenden:

Dekodierung:

  1. Ersetzen Sie „-“ durch „ „ und „_“ durch „/“ im Base64-codierten Text.
  2. Bestimmen Sie die Anzahl der fehlenden „="-Zeichen basierend auf der Länge des Base64-codierten Textes.
  3. Fügen Sie die erforderlichen „="-Zeichen an den Base64-codierten Text an.
  4. Führt eine reguläre Base64-Dekodierung für modifizierten Base64-kodierten Text durch.

Kodierung:

  1. Führen Sie eine regelmäßige Base64-Codierung für die Rohdaten durch.
  2. Ersetzen Sie die „=“-Zeichen durch die entsprechende Zahl „0“, „1“ oder „2“, abhängig von der Länge der Base64-Zeichenfolge.
  3. Ersetzen Sie „ “ durch „-“ und „/“ durch „_“.

Alternative:

.NET Framework stellt die Klasse HttpServerUtility bereit, die die Methoden UrlTokenEncode und UrlTokenDecode enthält, die URL-sichere Base64-Kodierung und -Dekodierung verarbeiten.

Code:

<code class="language-csharp">// 编码
string base64UrlEncodedText = HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(plaintext));

// 解码
string plaintext = Encoding.UTF8.GetString(HttpServerUtility.UrlTokenDecode(base64UrlEncodedText));</code>

Hinweis: HttpServerUtility-Methode gibt eine nicht standardmäßige base64url-Implementierung zurück, in der das Füllzeichen „=" durch „0“, „1“ oder „2“ ersetzt wird. Dies unterscheidet sich vom RFC4648-Standard, der das Zeichen „=" zum Auffüllen verwendet.

Das obige ist der detaillierte Inhalt vonWie führe ich eine URL-sichere Base64-Kodierung und -Dekodierung in ASP.NET durch?. 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