use*_*302 21 .net sql-server encryption
我必须在数据库表中以加密形式存储少量数据库字段(~3).
通常,使用.net加密技术加密/解密应用程序中的数据或使用对称密钥加密在数据库中加密/解密数据是否更好?这两种方法的优点/缺点是什么?
这是我的环境:
应用程序 - 内部网Web应用程序
开发平台 - Visual Studio 2010,ASP.Net,.Net Framework 3.5
服务器操作系统 - Windows Server 2008
数据库 - SQL Server 2008
Not*_*tMe 13
这是一个很好的问题.
我的看法是让负责存储数据的部分也负责对其进行任何加密.在这种情况下,让SQL Server管理加密.
主要原因是我们很少再建立独立的应用程序.让多个应用程序使用相同的数据库后端更为常见.此外,更换用于构建应用程序的技术比替换它下面的数据库引擎更常见.
如果您在代码中执行此操作,那么使用数据存储的每个应用程序都必须使用它自己的加密/解密库来访问数据.如果在sql server中完成,那么当您保持相同级别的保护时,应用程序可能对该过程非常不了解.
除此之外,您还应该利用加密与SQL服务器连接的能力,这将处理在Web/app服务器和数据库之间运行时保持数据加密的能力.此外,您应该在浏览器和您的网站之间启用SSL,以确保数据永远不会在浏览器 - > Web服务器 - >数据库服务器之间解密.
希望有所帮助.