假设我有一个包含以下列的数据网格;
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);
我创建了一个数据网格,为了便于使用,我选择了一个用于密码和用户ID的列,但知道这是因为我想从最终用户隐藏这些细节,并将它们仅用于我的程序中的参考(例如更新到数据库),我选择通过via隐藏这些列;
datagrid.Columns[0].Visible = false;
datagrid.Columns[2].Visible = false;
就开发人员/数据库而言,这是否会产生任何安全风险?显然,密码本身只是密码的哈希,使用我选择加密它的任何方式,但是用户是否可以找到获取现在存储在DataTable / DataGrid中的这些细节的方法?
答案 0 :(得分:5)
如果用户在您的应用程序中附加了WinDbg等工具,或者他们转移了该进程,那么浏览DataTable(或任何其他数据结构)将很容易。这是否代表您的应用的风险?我想你最有能力评估这一点。用户可以使用该信息做什么?