代码之家  ›  专栏  ›  技术社区  ›  Pinu

SQL Server 2005数据加密和LINQ to SQL

  •  3
  • Pinu  · 技术社区  · 14 年前

    我有一个ASP.NET MVC应用程序,我使用LINQ to SQL查询从 我的SQL Server数据库。现在为了安全起见,我需要加密我的数据库。LINQ to SQL如何处理加密数据库?

    1 回复  |  直到 14 年前
        1
  •  4
  •   Remus Rusanu    14 年前

    使用 Transparent Database Encryption . 顾名思义,是透明的,LinqSQL工作得很好。

    如果您使用的是非企业SKU,则必须使用SQL加密函数来加密/解密数据: ENCRYPTBYKEY DECRYPTBYKEY . 在客户机工具(sqlclient、odbc、oledb)和任何ORM框架(包括linq)中都不支持它们。加密和解密过程必须在服务器上进行,并由T-SQL结构驱动,这在很大程度上意味着您必须通过存储过程执行所有DML操作。通过使用投影解密数据的视图,数据检索操作可以以某种方式自动化,并且这些视图可以由LINQ提升。

    简而言之,不使用TDE,您将能够对解密数据的视图和过程返回的数据使用iQueryable,但不能将Linq用作ORM(例如,没有数据上下文insertonSubmit)。