Ejemplo n.º 1
0
        public URLSerializer DeserializeData(String Parameters)
        {
            Int32 discarded = 0;

            byte[] arrayData = HexEncoding.GetBytes(Parameters, out discarded);

            try
            {
                MemoryStream    ms  = new MemoryStream(arrayData);
                BinaryFormatter bin = new BinaryFormatter();
                bin.Binder = new AllowAllAssemblyVersionsDeserializationBinder();

                object obj = bin.Deserialize(ms);

                URLSerializer oData = new URLSerializer();
                oData = (URLSerializer)obj;

                String strChecksum = oData.Checksum;

                MemoryStream msData = new MemoryStream();
                bin.Serialize(msData, oData.Data);

                String strChecksumChecked = GetMD5Hash(msData);
                msData.Close();
                ms.Close();

                if (strChecksum != strChecksumChecked)
                {
                    return(null);
                }
                else
                {
                    return(oData);
                }
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }