C# 数据绑定到加密字符串?

C# 数据绑定到加密字符串?,c#,data-binding,encryption,C#,Data Binding,Encryption,我有一个C#winforms应用程序,其中有一个用于用户首选项的表单。管理员帐户应该能够显示存储在安全表中的用户名下拉列表,这将允许管理员更改该用户的首选项。在这方面一切都很好,除了用户名和密码都加密存储在数据库中。我有用于加密/解密的函数,但现在combobox被数据绑定到users表的username字段。在绑定到组合框之前,是否有办法使数据通过我的解密函数进行过滤 现在这并不是什么大问题,可以很容易地用一种不同于直接绑定的方法来代替,但是在将来,我需要用同样的方法来处理更多的字段,所以我想

我有一个C#winforms应用程序,其中有一个用于用户首选项的表单。管理员帐户应该能够显示存储在安全表中的用户名下拉列表,这将允许管理员更改该用户的首选项。在这方面一切都很好,除了用户名和密码都加密存储在数据库中。我有用于加密/解密的函数,但现在combobox被数据绑定到users表的username字段。在绑定到组合框之前,是否有办法使数据通过我的解密函数进行过滤

现在这并不是什么大问题,可以很容易地用一种不同于直接绑定的方法来代替,但是在将来,我需要用同样的方法来处理更多的字段,所以我想找到一种数据绑定和使用加密数据的方法


提前谢谢你的帮助

您可以编写一个封装数据源并返回自定义的
PropertyDescriptors
,该脚本在
GetValue
中解密数据,并在
SetValue
中加密数据。理想情况下,密码不应存储在数据库中,也不应加密或其他方式。加密安全、安全、单向散列更为理想不幸的是,我只是在这一点上消费安全性,而不是负责我们如何实际做到这一点。然而,很快的某个时候,计划是进行重写,我肯定会再次提出。最近在一个项目中使用Linq to Sql,在entity分部类中使用自定义属性,有一个类似的解决方案。虽然在处理大型数据集时可能会有点慢,但我对整体性能感到满意。