internal static object DeserializeFromFile(string fileName, string encryptionKey) { if (String.IsNullOrEmpty(encryptionKey)) { FileStream fs = System.IO.File.OpenRead(fileName); try { BinaryFormatter formatter = new BinaryFormatter(); return(formatter.Deserialize(fs)); } finally { fs.Close(); } } else { byte[] buffer = LoadFile(fileName); try { buffer = PublicEncryptor.DC(encryptionKey, buffer); } catch (System.Exception ex) { throw new System.Exception(String.Format("Cannot decrypte file:'{0}', error:{1}", fileName, ex.Message)); } MemoryStream ms = new MemoryStream(buffer); BinaryFormatter formatter = new BinaryFormatter(); return(formatter.Deserialize(ms)); } }
public static T BytesToObject <T>(byte[] bytes, string encryptionKey) { bytes = PublicEncryptor.DC(encryptionKey, bytes); MemoryStream ms = new MemoryStream(); BinaryFormatter bf = new BinaryFormatter(); ms.Write(bytes, 0, bytes.Length); ms.Seek(0, SeekOrigin.Begin); var obj = bf.Deserialize(ms); var retObj = (T)obj; return(retObj); }
internal static object Deserialize(byte [] buffer, string encryptionKey) { try { if (encryptionKey != null) { buffer = PublicEncryptor.DC(encryptionKey, buffer); } } catch (System.Exception ex) { throw new System.Exception(String.Format("Cannot decrypte bufferm error:{0}", ex.Message)); } MemoryStream ms = new MemoryStream(buffer); BinaryFormatter formatter = new BinaryFormatter(); return(formatter.Deserialize(ms)); }