SQL Server 2005 数据加密和 LINQ TO SQL

3

我有一个ASP.NET MVC应用程序,使用Linq-to-SQL查询从我的SQL Server数据库中获取数据。现在出于安全考虑,我需要加密我的数据库。Linq-to-SQL如何与加密的数据库一起工作?

我有一个ASP.NET MVC应用程序,使用Linq-to-SQL查询从我的SQL Server数据库中获取数据。现在出于安全考虑,我需要加密我的数据库。Linq-to-SQL如何与加密的数据库一起工作?

1个回答

4
使用透明数据库加密。正如其名称所示,它是透明的,LINQ to SQL可以很好地工作。
如果您使用的是非企业版 SKU,则必须使用SQL加密函数来加密/解密数据:ENCRYPTBYKEYDECRYPTBYKEY。客户端工具(SqlClient、ODBC、OleDB)以及包括LINQ在内的任何ORM框架都不支持它们。加密和解密过程必须在服务器上进行,并由T-SQL构造驱动,这几乎意味着您必须通过存储过程执行所有DML操作。通过使用投影解密数据的视图,可以自动化某些数据检索操作,并且可以利用这些视图来使用LINQ。
简而言之,如果没有TDE,您将能够在由视图和解密数据的存储过程返回的数据上使用IQueryable,但您将无法将LINQ用作ORM(例如,没有数据上下文InsertOnSubmit)。

我只是好奇透明数据库加密与数据库加密有何不同? - Pinu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接