Base 64符号化の伝送中の可能性のある問題


Base 64 c#暗号化関数

  public static string Encrypt(string pToEncrypt)
        {
                        byte[] barray=System.Text.UnicodeEncoding.Unicode.GetBytes(pToEncrypt);

            return Convert.ToBase64String(barray);
        }

Base 64 c#復号関数

  public string Decrypt(string pToDecrypt)
        {

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

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

            return str;

        }  

暗号化された文字列に「/」「+」「=」が存在すると、WEBの転送中に(requestなどの動作を含む)変化し、それぞれ
"/"クライアントで"2 F"に変更
"+"  ...........""
"="  ..........."%3D"
したがって、クライアントが文字列を復号する前に正しいbase 64コードに復元すべきであり、以下はaspの符号化である.
  

       str=Replace(str," ","+")
       str=Replace(str,"%2F","/")
       str=Replace(str,"%3D","=")