更改SQL Server加密算法



我不希望管理员能够查看源代码。我可以使用

创建存储过程。。。带有加密

但它可以很容易地解密(只是谷歌)

为了保护存储过程源代码,我想覆盖加密算法。有办法做到这一点吗?(类似于SQLShieldhttp://www.sqlshield.com/)。或者您可以建议我如何使用CLR对存储过程进行加密和解密。

CREATE PROCEDURE的WITH ENCRYPTION子句是一个旧的遗留选项,只会混淆代码。这在官方文档中有说明:"表示SQL Server将CREATE PROCEDURE语句的原始文本转换为模糊格式。"

目前(2019年),没有SQL Server功能可以实现您所追求的目标。数据库系统管理员将能够访问您在其服务器上创建的任何过程的代码。特别是如果他们碰巧也是服务器机器的管理员,就像通常的情况一样。如果数据库没有加密,只需在记事本中打开MDF文件即可查看其所有存储过程的代码——试试吧!

通常,这个问题来自那些想销售SQL Server过程包,但又不想访问其代码的人。不幸的是,当您的客户端拥有服务器运行的硬件时,没有简单的方法可以实现这种类型的代码保护——您正在寻找的是一种数字版权管理类型的解决方案。

如果您想更好地控制您的应用程序,您可能需要考虑将应用程序打包为服务。

话虽如此,SQL Server的未来版本可能会添加有助于此场景的功能,尤其是在托管SQL Server场景中。

最新更新