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

Sha*_*e.C 3 .net c# datagrid winforms

假设我有一个包含以下列的数据网格;

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);
Run Code Online (Sandbox Code Playgroud)

我创建了一个数据网格,为了便于使用,我选择了一个用于密码和用户ID的列,但知道这是因为我想从最终用户隐藏这些细节,并将它们仅用于我的程序中的参考(例如更新)到数据库),我选择通过via隐藏这些列;

   datagrid.Columns[0].Visible = false;
   datagrid.Columns[2].Visible = false;
Run Code Online (Sandbox Code Playgroud)

就开发人员/数据库而言,这是否会产生任何安全风险?显然,密码本身只是密码的哈希,使用我选择加密它的任何方式,但是用户是否可以找到获取现在存储在DataTable/DataGrid中的这些细节的方法?

Ian*_*roy 5

如果用户附加了像WinDbg这样的工具你的应用程序,或者如果他们转移了进程,那么浏览DataTable(或任何其他数据结构)将很容易.这是否代表您的应用的风险?我想你最有能力评估这一点.用户可以使用该信息做什么?