Url的Base64編碼以及解碼


Base64可以將二進制轉碼成可見字符方便進行http傳輸,但是base64轉碼時會生成“+”,“/”,“=”這些被URL進行轉碼的特殊字符,導致兩方面數據不一致。我們可以在發送前將“+”,“/”,“=”替換成URL不會轉碼的字符,接收到數據后,再將這些字符替換回去,再進行解碼。在ASP.NET應用程序中,可以使用HttpUtility工具類結合Convert類來實現對URl進行Base64編碼以及解碼操作。

(1)將URL進行Base64編碼

    public static string Base64Encrypt(string sourthUrl)
        {
            string eurl = HttpUtility.UrlEncode(sourthUrl);
            eurl = Convert.ToBase64String(encoding.GetBytes(eurl));
            return eurl;
        }

(2)將URL進行Base64解碼

    public static string Base64Decrypt(string eStr)
        {        
            if (!IsBase64(eStr))
            {
                return eStr;
            }
            byte[] buffer = Convert.FromBase64String(eStr);
            string sourthUrl = encoding.GetString(buffer);
            sourthUrl = HttpUtility.UrlDecode(sourthUrl);
            return sourthUrl;
        }

 

備注:此文轉載自Url的Base64編碼以及解碼_IT技術小趣屋

博主個人技術交流群:960640092,博主微信公眾號如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM