Explication détaillée du codage de sécurité des URL Base64 en C#
L'encodage sécurisé pour les URL Base64 est une technique d'encodage d'URL couramment utilisée qui évite d'avoir à encoder les caractères en %. Cet article explique comment implémenter cet encodage en C#.
Comparaison des méthodes JavaScript
Java peut facilement implémenter un codage sécurisé pour les URL à l'aide de la bibliothèque Codec. Une approche similaire peut être adoptée avec C#.
Conversion Base64
Le code suivant montre comment convertir une chaîne en Base64 :
<code class="language-csharp">byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes("StringToEncode"); string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);</code>
Cependant, cette méthode ajoute un double remplissage de signe égal (=) à la fin du résultat codé.
Implémenter le codage sécurisé des URL
Afin d'obtenir un codage sécurisé des URL, nous devons effectuer les étapes suivantes :
Le code suivant implémente ces modifications :
<code class="language-csharp">char[] padding = { '=' }; string returnValue = System.Convert.ToBase64String(toEncodeAsBytes) .TrimEnd(padding).Replace('+', '-').Replace('/', '_');</code>
Notez que padding
est défini comme un tableau contenant des caractères '='.
Processus de décodage
Le processus de décodage est le suivant :
<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>
Comparaison avec la bibliothèque de codecs Java
Nécessite une vérification plus approfondie si cette approche est cohérente avec l'approche de la « bibliothèque de codecs commune » de Java. Ce serait une direction intéressante à tester.
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!