Maison >développement back-end >C++ >Comment implémenter l'encodage et le décodage Base64 sécurisés pour les URL en C# ?

Comment implémenter l'encodage et le décodage Base64 sécurisés pour les URL en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-25 03:17:09317parcourir

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

L'URL Security Base64 Encoding

Le codage de base64 est une méthode de codage commune, mais lorsque le codage de sécurité de l'URL est effectué, certains caractères (, / et =) peuvent causer des problèmes. Bien que la bibliothèque Codec de Java fournit une solution directe, C # nécessite un peu de façons différentes.

Implémentez le codage de sécurité de l'URL

Pour implémenter le codage URL Security Base64 en C #, vous pouvez simplement remplacer les caractères problématiques en caractères adaptés à l'URL (-repos, _ remplacement /), et supprimer tout caractère de remplissage (=).

Parmi eux, le rembourrage est défini comme:

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

pour inverser ce processus:

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

Comparaison avec la bibliothèque du codec

<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>

Il convient de noter que cette méthode est similaire à la méthode d'utilisation de la bibliothèque de codec de Java. Cependant, il est recommandé de tester cette hypothèse pour s'assurer qu'elle est compatible avec des bibliothèques spécifiques utilisées.

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