コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }