5

最近,我和一个朋友正在讨论如何保护 SQL Server 数据库中的存储过程代码。

从遥远的记忆中,我很确定“加密”在所有版本的 SQL Server 中都非常容易被破解,但是他说它在 SQL 2005 中得到了很大的改进。因此,我没有认真地将其视为安全选项在我曾经工作过的任何系统中。

那么在什么情况下可以使用“加密”,什么时候应该不惜一切代价避免呢?

4

3 回答 3

6

它可用于向不经意的观察者隐藏您的代码,但正如您所说:它很容易被规避。

它真的不可能是任何其他方式,因为服务器需要解密代码才能执行它。它基本上是 DRM,并且由于与所有其他 DRM 相同的原因而失败 - 您不能同时隐藏数据并允许访问它。

于 2008-09-09T02:24:29.607 回答
2

@Blorgbeard

很好的回应,关于“WITH ENCRYPTION”的 MSDN 文档似乎同意你的观点,现在称它为“混淆”而不是加密。

然而,我遇到了一些完全不了解这一点的开发人员。希望这个问题/回答也能告知其他人。

于 2008-09-09T05:02:38.370 回答
1

是的,它很容易坏掉。上周我遇到了一种情况,我必须解密几个前开发人员为我的客户加密的存储过程。解密后,我付出了适度的努力,我不会依赖它来保护知识产权、密码、用户 ID 的任何方法。真的什么都有。

于 2008-09-20T04:04:34.663 回答