我们在数据库中有一个表,例如tbl_x。该表在相当长的一段时间内,大约有2000行。行更新并插入此表中,只有一段时间。创建此表时,不考虑保护和安全性。但是,该表由我们认为需要一定程度保护的数据组成。
我们现在要加密表中某些列的值,然后再保存任何内容。我们想在显示在UI上(或执行其他操作之前)之前解密该值。
所以场景是:
DB服务器:SQL Server 2008
TBL_X模式:
Id int not null,
Name varchar(100) not null,
CustAccount varchar(100) not null,
CustPrefText varchar(200) not null,
CreatedBy int not null
我们希望在列上加密Custaccount和Custpreftext。
我们使用LINQ2SQL获取并在表中设置数据。因此,我们正在考虑达到这样的上述要求的事情:
public partial class tbl_X
{
public string CustAccount
{
get
{
return Crypter.Decrypt(this.CustAccount)
}
set
{
this.CustAccount= Crypter.Encrypt(value)
}
}
}
问题:
- 是否有更好的方法来处理更改?
- 表中现有数据可能会在手动更新它们时引起任何问题?
- 是否需要更改上述列的数据类型?
预先感谢。请让我知道是否需要其他任何详细信息。
始终加密是您所需要的。它是一种客户端加密技术,它将与Ado.net SQLClclient一起使用,因此也将与Linqtosql一起使用。以下是更多详细信息:始终重新加工客户开发
但是,您将需要SQL Server 2016。