Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 最佳实践-隐藏datagrid列的安全问题_C#_.net_Winforms_Datagrid - Fatal编程技术网

C# 最佳实践-隐藏datagrid列的安全问题

C# 最佳实践-隐藏datagrid列的安全问题,c#,.net,winforms,datagrid,C#,.net,Winforms,Datagrid,假设我有一个包含以下列的datagrid DataTable dataTable66 = new DataTable(); DataColumn colDescription = new DataColumn("userID"); dataTable66.Columns.Add(colDescription); DataColumn colActive = new DataColumn("Username"); dataTable

假设我有一个包含以下列的datagrid

DataTable dataTable66 = new DataTable();

        DataColumn colDescription = new DataColumn("userID");
        dataTable66.Columns.Add(colDescription);
        DataColumn colActive = new DataColumn("Username");
        dataTable66.Columns.Add(colActive);
        DataColumn colPass = new DataColumn("Password");
        dataTable66.Columns.Add(colPass);
        DataColumn colRole = new DataColumn("Role");
        dataTable66.Columns.Add(colRole);
我创建了一个datagrid,为了便于使用,我选择了一个列作为密码和用户ID,但我知道,因为我想对最终用户隐藏这些详细信息,并在我的程序中使用它们作为参考(例如更新到数据库),所以我选择通过via隐藏这些列

   datagrid.Columns[0].Visible = false;
   datagrid.Columns[2].Visible = false;

就开发者/数据库而言,这是否会产生任何安全风险?很明显,密码本身就是密码的散列,使用我选择的任何方式对其进行加密,但是用户能否找到一种方法来获取现在存储在DataTable/DataGrid中的这些详细信息?

如果用户在应用程序中附加了WinDbg之类的工具,或者如果他们转储了该过程,则可以轻松浏览DataTable(或任何其他数据结构)。这是否意味着你的应用有风险?我想你最适合评估这一点。用户可以用这些信息做什么?

我想不是很多,用户ID只是用于数据库参考,密码散列只是用于更改密码的参考。没有什么可以质疑程序及其数据库的完整性E