Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melakukan Pengekodan dan Penyahkodan Base64 URL-Safe dalam ASP.NET?

Bagaimana untuk Melakukan Pengekodan dan Penyahkodan Base64 URL-Safe dalam ASP.NET?

Patricia Arquette
Patricia Arquetteasal
2025-01-11 22:01:47268semak imbas

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

Pengekodan/Penyahkodan URL Selamat Base64 dalam Rangka Kerja ASP.NET

Pengekodan Base64 biasanya digunakan untuk mengekod data binari ke dalam format teks untuk penghantaran melalui rangkaian. Walau bagaimanapun, pengekodan Base64 standard mengandungi aksara (terutamanya " " dan "/") yang mungkin mengganggu templat dan URL URI.

Untuk menyelesaikan masalah ini, versi pengubahsuaian pengekodan Base64 wujud khusus untuk URL. Dalam varian ini, " " dan "/" digantikan dengan "-" dan "_" masing-masing, dan aksara padding "=" diabaikan.

Melaksanakan versi Base64 yang diubah suai untuk URL dalam rangka kerja ASP.NET boleh menggunakan kaedah berikut:

Penyahkodan:

  1. Ganti "-" dengan " " dan "_" dengan "/" dalam teks berkod Base64.
  2. Tentukan bilangan aksara "=" yang hilang berdasarkan panjang teks yang dikodkan Base64.
  3. Tambahkan aksara "=" yang diperlukan pada teks yang dikodkan Base64.
  4. Melakukan penyahkodan Base64 biasa pada teks yang dikodkan Base64 yang diubah suai.

Pengekodan:

  1. Lakukan pengekodan Base64 biasa pada data mentah.
  2. Ganti aksara "=" dengan nombor "0", "1" atau "2" yang sesuai bergantung pada panjang rentetan Base64.
  3. Ganti " " dengan "-" dan "/" dengan "_".

Alternatif:

Rangka Kerja .NET menyediakan kelas HttpServerUtility, yang mengandungi kaedah UrlTokenEncode dan UrlTokenDecode yang mengendalikan pengekodan dan penyahkodan Base64 yang selamat URL.

Kod:

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

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

Nota: HttpServerUtility kaedah mengembalikan pelaksanaan base64url bukan standard di mana aksara "=" padding digantikan dengan "0", "1" atau "2". Ini berbeza daripada standard RFC4648, yang menggunakan aksara "=" untuk pelapik.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Pengekodan dan Penyahkodan Base64 URL-Safe dalam ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn