Программно шифруя файл конфигурации в.NET

Просто используйте библиотеку CloseMXL.Excel. Это легко и довольно быстро.

Класс

private DataTable getAllList()
        {
            string constr = ConfigurationManager.ConnectionStrings["RConnection"].ConnectionString;
            using (SqlConnection con = new SqlConnection(constr))
            {
                using (SqlCommand cmd = new SqlCommand("SELECT EmpId, gender, EmpName, pOnHold FROM Employee  WHERE EmpId= '"+ AnyVariable + "' ORDER BY EmpName"))
                {
                    using (SqlDataAdapter da = new SqlDataAdapter())
                    {
                        DataTable dt = new DataTable();
                        cmd.CommandType = CommandType.Text;
                        cmd.Connection = con;
                        da.SelectCommand = cmd;
                        da.Fill(dt);
                        dt.Columns[0].ColumnName = "Employee Id";
                        dt.Columns[1].ColumnName = "Gender";
                        dt.Columns[2].ColumnName = "Employee Name";
                        dt.Columns[3].ColumnName = "On Hold";

                        return dt;
                    }
                }
            }
        }

Затем другой метод, который получает набор данных

public DataSet getDataSetExportToExcel()
        {
            DataSet ds = new DataSet();
            DataTable dtEmp = new DataTable("CLOT List");
            dtEmp = getAllList();
             ds.Tables.Add(dtEmp);
             ds.Tables[0].TableName = "Employee"; //If you which to use Mutliple Tabs
             return ds;
          }

Теперь вы нажмите кнопку Click Событие

protected void btn_Export_Click(object sender, EventArgs e)
        {
            DataSet ds = getDataSetExportToExcel();

            using (XLWorkbook wb = new XLWorkbook())
            {
                wb.Worksheets.Add(ds);
                wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
                wb.Style.Font.Bold = true;

                Response.Clear();
                Response.Buffer = true;
                Response.Charset = "";
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-disposition", "attachment;filename=EmployeeonHoldList.xlsx");

                using (MemoryStream MyMemoryStream = new MemoryStream())
                {
                    wb.SaveAs(MyMemoryStream);
                    MyMemoryStream.WriteTo(Response.OutputStream);

                    Response.Flush();
                    Response.End();
                }
            }
        }
17
задан Chris 26 September 2008 в 18:48
поделиться

4 ответа

Для суммирования ответов и что я нашел до сих пор вот, некоторые хорошие ссылки для ответа на этот вопрос:

, не стесняйтесь дополнять другими ссылками, возможно, некоторые к WinForms-или WPF-приложениям.

13
ответ дан 30 November 2019 в 13:40
поделиться

Существует хорошая статья от 4 парней [приблизительно 110] Конфигурационная информация Шифрования в ASP.NET 2.0 Приложения

Hope, которой это помогает

4
ответ дан 30 November 2019 в 13:40
поделиться

@TK: алгоритм хеширования может только быть 'предположен', не перепроектирован. Можно только восстановить вход к значению хэш-функции путем завершенного предположения входа (кроме коллизий, который является), Это может быть сделано трещиной радуги, например (см. реализация взломщика радуги здесь )

я сказал бы, что сторонний инструмент шифрования не более безопасен, чем алгоритмы шифрования платформы.NET, эти библиотеки просто помогают Вам делающий Ваше задание быстрее

1
ответ дан 30 November 2019 в 13:40
поделиться

Я не использовал его сам, но библиотека Microsoft Enterprise имеет хорошую поддержку шифрования, которая возможно удовлетворит Вашим потребностям:

http://msdn.microsoft.com/en-us/library/cc309503.aspx

0
ответ дан 30 November 2019 в 13:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: