protected void DecryptCommand_Click(object sender, EventArgs e)
    {
        // Check for encryption key
        if (!File.Exists(KeyFileName))
        {
            Response.Write("Missing encryption key. Please generate key!");
        }

        try
        {
            byte[] data = Convert.FromBase64String(EncryptedDataText.Text);
            ClearDataText.Text = SymmetricEncryptionUtility.DecryptData(data, KeyFileName);
        }
        catch
        {
            Response.Write("Unable to decrypt data!");
        }
    }
    protected void LoadCommand_Click(object sender, EventArgs e)
    {
        try
        {
            DemoDb.Open();
        }
        catch (Exception ex)
        {
            // Log the error but don't
            // display any details to the user
            System.Diagnostics.Debug.WriteLine("Exception: " + ex.Message);
            // Access to DB failed
            Response.Write("Loading data failed!");
            return;
        }

        try
        {
            string     SqlText = "SELECT * FROM ShopInfo WHERE UserId=@key";
            SqlCommand Cmd     = new SqlCommand(SqlText, DemoDb);
            Cmd.Parameters.AddWithValue("@key", Membership.GetUser().ProviderUserKey);
            using (SqlDataReader Reader = Cmd.ExecuteReader())
            {
                if (Reader.Read())
                {
                    // Cleartext Data
                    StreetText.Text  = Reader["Street"].ToString();
                    ZipCodeText.Text = Reader["ZipCode"].ToString();
                    CityText.Text    = Reader["City"].ToString();

                    // Encrypted Data
                    byte[] SecretCard = (byte[])Reader["CreditCard"];
                    CreditCardText.Text =
                        SymmetricEncryptionUtility.DecryptData(
                            SecretCard, EncryptionKeyFile);
                }
            }
        }
        finally
        {
            DemoDb.Close();
        }
    }