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; } }