C# 最佳实践-隐藏datagrid列的安全问题
假设我有一个包含以下列的datagridC# 最佳实践-隐藏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
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