论坛首页 编程语言技术论坛

Base64编码在传输过程中的可能问题

浏览 3015 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-01-19   最后修改:2010-01-19
Base64 c#加密函数
  public static string Encrypt(string pToEncrypt)
        {
                        byte[] barray=System.Text.UnicodeEncoding.Unicode.GetBytes(pToEncrypt);

            return Convert.ToBase64String(barray);
        }

Base64 c#解密函数

  public string Decrypt(string pToDecrypt)
        {

            byte[] mingwen = Convert.FromBase64String(pToDecrypt);

            string str = System.Text.UnicodeEncoding.Unicode.GetString(mingwen);

            return str;

        }  


加密后的字符串如果存在"/" "+" "=", 在WEB的传输过程中(含有request之类动作)会发生改变,分别对应为
“/” 在客户端变为 "2F"
"+"  ..........." "
"="  ..........."%3D"
所以在客户端对字符串解密前应该恢复为正确的base64码,下面是asp中的编码
  
       str=Replace(str," ","+")
       str=Replace(str,"%2F","/")
       str=Replace(str,"%3D","=")
    

  
   发表时间:2010-02-25  
Base64的=号什么的,要URLEncode嘛。
0 请登录后投票
   发表时间:2010-03-01  
healer_kx 写道
Base64的=号什么的,要URLEncode嘛。

你可以查base64的编码表啊, google一下, 需要encode的,不然会在传输过程中发生变化
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics