ホームページ > バックエンド開発 > C++ > ASP.NET で URL セーフな Base64 エンコーディングとデコーディングを実行するにはどうすればよいですか?

ASP.NET で URL セーフな Base64 エンコーディングとデコーディングを実行するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-11 22:01:47
オリジナル
221 人が閲覧しました

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

ASP.NET Framework での URL Safe Base64 エンコーディング/デコーディング

Base64 エンコードは、ネットワーク経由で送信するためにバイナリ データをテキスト形式にエンコードするために一般的に使用されます。ただし、標準の Base64 エンコードには、URI テンプレートや URL に干渉する可能性のある文字 (特に「」と「/」) が含まれています。

この問題を解決するために、URL 専用の Base64 エンコードの修正バージョンが存在します。この変形例では、「 」と「/」がそれぞれ「-」と「_」に置き換えられ、埋め込み文字「=」が省略されます。

ASP.NET フレームワークの URL に Base64 の修正バージョンを実装するには、次のメソッドを使用できます。

デコード:

  1. Base64 エンコードされたテキストの「-」を「 」に、「_」を「/」に置き換えます。
  2. Base64 エンコードされたテキストの長さに基づいて、欠落している「=」文字の数を決定します。
  3. 必要な「=」文字を Base64 エンコードされたテキストに追加します。
  4. 変更された Base64 エンコードされたテキストに対して通常の Base64 デコードを実行します。

エンコーディング:

  1. 生データに対して通常の Base64 エンコードを実行します。
  2. Base64 文字列の長さに応じて、「=」文字を適切な数の「0」、「1」、または「2」に置き換えます。
  3. 「」を「-」に、「/」を「_」に置き換えます。

代替:

.NET Framework は、HttpServerUtility クラスを提供します。このクラスには、URL セーフな Base64 エンコードとデコードを処理する UrlTokenEncode メソッドと UrlTokenDecode メソッドが含まれています。

コード:

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

// 解码
string plaintext = Encoding.UTF8.GetString(HttpServerUtility.UrlTokenDecode(base64UrlEncodedText));</code>
ログイン後にコピー

注: HttpServerUtility メソッドは、「= パディング文字が「0」、「1」、または「2」に置き換えられる非標準の Base64url 実装を返します。これは、パディングに「=」文字を使用する RFC4648 標準とは異なります。

以上がASP.NET で URL セーフな Base64 エンコーディングとデコーディングを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート