private static DataNode ReadEncrypted(BinaryReader reader) { DataNode result = null; using (RijndaelManaged rijndaelManaged = new RijndaelManaged()) { rijndaelManaged.Key = DataNodeBinary.m_EncryptKey; rijndaelManaged.IV = DataNodeBinary.m_EncryptVector; ICryptoTransform cryptoTransform = rijndaelManaged.CreateDecryptor(rijndaelManaged.Key, rijndaelManaged.IV); CryptoStream input = new CryptoStream(reader.BaseStream, cryptoTransform, CryptoStreamMode.Read); BinaryReader binaryReader = new BinaryReader(input); int num = binaryReader.ReadInt32(); switch (num) { case 1: result = DataNodeBinary.ReadFromBinary(binaryReader, null); break; case 2: result = DataNodeBinary.ReadCompressed(binaryReader); break; case 3: Debug.LogError("Double encryption!!!"); break; default: Debug.LogError("Unknown version " + num); break; } cryptoTransform.Dispose(); } return(result); }
public static DataNode FromBinaryStream(BinaryReader reader) { string text = reader.ReadString(); if (text != "DEF2") { Debug.LogError("Unknown header " + text); return(null); } int num = reader.ReadInt32(); switch (num) { case 1: return(DataNodeBinary.ReadFromBinary(reader, null)); case 2: return(DataNodeBinary.ReadCompressed(reader)); case 3: return(DataNodeBinary.ReadEncrypted(reader)); default: Debug.LogError("Unknown version " + num); return(null); } }