Maison >développement back-end >C++ >Comment implémenter le codage et le décodage d'URL Base64 modifiés dans ASP.NET ?

Comment implémenter le codage et le décodage d'URL Base64 modifiés dans ASP.NET ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-11 21:46:411031parcourir

How to Implement Modified Base64 URL Encoding and Decoding in ASP.NET?

Framework ASP.NET : encodage et décodage Base64 sécurisés pour les URL

Cette technique modifie l'encodage Base64 standard pour créer des chaînes adaptées aux URL, en éliminant le remplissage et les caractères tels que « » et « / » qui peuvent interférer avec les modèles d'URI. Voici une implémentation ASP.NET :

<code class="language-csharp">/// <summary>
/// URL-safe Base64 encoding using UTF-8.
/// </summary>
/// <param name="str">The string to encode.</param>
/// <returns>The URL-safe Base64 encoded string.</returns>
public static string UrlSafeBase64Encode(string str)
{
    byte[] encodedBytes = Encoding.UTF8.GetBytes(str);
    return HttpServerUtility.UrlTokenEncode(encodedBytes);
}

/// <summary>
/// URL-safe Base64 decoding using UTF-8.
/// </summary>
/// <param name="str">The URL-safe Base64 encoded string.</param>
/// <returns>The decoded string.</returns>
public static string UrlSafeBase64Decode(string str)
{
    byte[] decodedBytes = HttpServerUtility.UrlTokenDecode(str);
    return Encoding.UTF8.GetString(decodedBytes);
}</code>

Pour utiliser cet encodage Base64 sécurisé pour les URL, remplacez simplement vos méthodes d'encodage et de décodage Base64 existantes par les fonctions fournies ci-dessus.

Considérations importantes :

  • La sortie n'est pas strictement conforme à la norme Base64, car des caractères non sécurisés pour les URL sont remplacés.
  • Ceci diffère de la norme RFC 4648 base64url ; le remplissage ('=') est remplacé par « 0 », « 1 » ou « 2 » en fonction du nombre de caractères de remplissage supprimés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn