在数据库级别加密和解密数据库中的列而不更改框架

时间:2017-03-01 18:11:14

标签: sql sql-server encryption

我有一个3层软件:数据库(MSSQL),框架(.NET)和一些客户端。

在数据库中我有一个表:People在表的内部有一列secret是字符串,不幸的是这个secret保存在纯字符串中。我的想法是加密这个秘密(不是哈希),但是出于严重的原因我不能也不想通过框架来做这件事,但我必须在数据库级别上这样做。

所以我的想法是,而不是存储:I really like pink我可以存储例如:TnfA608JRlWikdLeYkeOXADQi4a3bZZe7Ljchxk1ksU=,当框架查询数据库时,它已经解密了文本I really like pink

我已经阅读过数据库中的主密钥以及使用3DES加密列的可能性,但信息非常模糊。

问题:是否有可能在框架中几乎没有任何更改来强制数据库在写入时加密列并在读取时解密?

1 个答案:

答案 0 :(得分:0)

您的问题不是很清楚,但您是否查看了实体框架的Crypteron's CipherDB加密插件?它不仅负责加密,还增加了篡改保护,密钥管理,分发,翻转以及SQL,NoSQL,流,文件,对象等。

修改:如果您未使用EntityFramework,请查看Crypteron CipherObject NuGet包。您可以加密对象并使用加密的属性。如果在数据库访问层执行此操作,则其余逻辑将保持不变。这可能适用于您的用例。

免责声明:我在那里工作但我们确实有一个免费社区版本,如果这符合你的账单。