Maison >développement back-end >C++ >Comment effectuer un encodage et un décodage Base64 sécurisés pour les URL dans ASP.NET ?
Encodage/décodage d'URL Safe Base64 dans ASP.NET Framework
L'encodage Base64 est couramment utilisé pour encoder des données binaires dans un format texte afin de les transmettre sur un réseau. Cependant, le codage Base64 standard contient des caractères (notamment « » et « / ») qui peuvent interférer avec les modèles d'URI et les URL.
Pour résoudre ce problème, une version modifiée de l'encodage Base64 existe spécifiquement pour les URL. Dans cette variante, " " et "/" sont remplacés respectivement par "-" et "_", et le caractère de remplissage "=" est omis.
L'implémentation d'une version modifiée de Base64 pour les URL dans le framework ASP.NET peut utiliser la méthode suivante :
Décodage :
Encodage :
Alternative :
.NET Framework fournit la classe HttpServerUtility, qui contient les méthodes UrlTokenEncode et UrlTokenDecode qui gèrent l'encodage et le décodage Base64 sécurisés pour les URL.
Code :
<code class="language-csharp">// 编码 string base64UrlEncodedText = HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(plaintext)); // 解码 string plaintext = Encoding.UTF8.GetString(HttpServerUtility.UrlTokenDecode(base64UrlEncodedText));</code>
Remarque : la méthode HttpServerUtility renvoie une implémentation base64url non standard dans laquelle le caractère de remplissage "=" est remplacé par "0", "1" ou "2". Ceci est différent de la norme RFC4648, qui utilise le caractère "=" pour le remplissage.
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!