public static void DecryptFile(string file)
    {
        byte[] bytesToBeDecrypted = File.ReadAllBytes(file);
        byte[] passwordBytes      = Encoding.UTF8.GetBytes(password);
        passwordBytes = SHA256.Create().ComputeHash(passwordBytes);

        byte[] bytesDecrypted = Crytographer.AES_Decrypt(bytesToBeDecrypted, passwordBytes);

        File.WriteAllBytes(file, bytesDecrypted);
    }
    public static void Save()
    {
        System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(QBank.GetType());
        TextWriter tw = new StreamWriter(FileName);

        x.Serialize(tw, QBank);
        tw.Close();
        if (ConfigurationManager.AppSettings["Encrypt"] == "1")
        {
            Crytographer.EncryptFile(FileName);
        }
    }
    public static void Load()
    {
        if (ConfigurationManager.AppSettings["Encrypt"] == "1")
        {
            Crytographer.DecryptFile(FileName);
        }

        // Create an instance of the XmlSerializer specifying type.
        XmlSerializer serializer = new XmlSerializer(typeof(QuestionBank));

        // Create a TextReader to read the file.
        FileStream fs     = new FileStream(FileName, FileMode.OpenOrCreate);
        TextReader reader = new StreamReader(fs);

        // Use the Deserialize method to restore the object's state.
        QBank = (QuestionBank)serializer.Deserialize(reader);
        reader.Close();
    }