T tsp Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-21 #1 我使用SQLServer 2000,应用系统所有的算法均放在存储过程中,我如何保护我的存储过程 不被剽窃呢?(数据表可以让别人看,但不能修改结构)
Q qdyoung Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-21 #2 禁止操作系统用户登录。所有的sql server登录密码全部加长,用户除了用你的软件 没有任何帐号所以无法进入企业管理器,软件里面登录到数据库的帐号要加密 否则通过ultraedit很容易找出帐号。这样就没事了。 ----- http://www.8421.org
禁止操作系统用户登录。所有的sql server登录密码全部加长,用户除了用你的软件 没有任何帐号所以无法进入企业管理器,软件里面登录到数据库的帐号要加密 否则通过ultraedit很容易找出帐号。这样就没事了。 ----- http://www.8421.org
T tsp Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-21 #3 情况是这样的,我做过一个系统,所有算法都在存储过程中,应用中只有对存储过程的 调用,现在我离开了原单位,另外一家公司来维护,我只愿意提供接口而不是存储过程 的详细内容,你说我有办法做到吗?(显然,不让他们打开数据库是不可能的,或者说, 必须允许他们打开数据库)
情况是这样的,我做过一个系统,所有算法都在存储过程中,应用中只有对存储过程的 调用,现在我离开了原单位,另外一家公司来维护,我只愿意提供接口而不是存储过程 的详细内容,你说我有办法做到吗?(显然,不让他们打开数据库是不可能的,或者说, 必须允许他们打开数据库)
O Orber Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-21 #5 没办法。 这是由SQL SERVER决定的。 我们恐怕控制不了
T tsp Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-21 #6 对存储过程加密?如何加密?加密后的文本能通过SQLServer的检查吗?
Q qdyoung Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-22 #7 加密后你还是要解密才能执行,那解密代理是不能加密的。 sql server好像是可以执行一段字符串里面的代码。 所以估计是没有办法的。除非你把存储过程代码放到dll中,然后再在存储过程里面 调用。server sql的存储过程可以调用dll.
加密后你还是要解密才能执行,那解密代理是不能加密的。 sql server好像是可以执行一段字符串里面的代码。 所以估计是没有办法的。除非你把存储过程代码放到dll中,然后再在存储过程里面 调用。server sql的存储过程可以调用dll.
H happyboyjia Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-22 #9 在SQL SERVER中加密过的存储过程是看不见里面具体的语句的。 看见的只是以EXEC (12346546547441741411)上面显示的一段代码 当然这段代码在解密后是可以看见语句的。 具体加密语句你可以到微软的MSDN上去找
在SQL SERVER中加密过的存储过程是看不见里面具体的语句的。 看见的只是以EXEC (12346546547441741411)上面显示的一段代码 当然这段代码在解密后是可以看见语句的。 具体加密语句你可以到微软的MSDN上去找
H happyboyjia Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-23 #10 我修正一下刚才我话中的错误,加密过的过程是不能在解密除非删除过程。 下面是我在SQL2000中文版帮助中查到的一组原话。 加密过程定义 如果要创建存储过程,并且希望确保其他用户无法查看该过程的定义, 那么可以使用 WITH ENCRYPTION 子句。这样,过程定义将以不可读的形式存储。 存储过程一旦加密其定义即无法解密,任何人(包括存储过程的所有者或系统管理员) 都将无法查看存储过程定义。
我修正一下刚才我话中的错误,加密过的过程是不能在解密除非删除过程。 下面是我在SQL2000中文版帮助中查到的一组原话。 加密过程定义 如果要创建存储过程,并且希望确保其他用户无法查看该过程的定义, 那么可以使用 WITH ENCRYPTION 子句。这样,过程定义将以不可读的形式存储。 存储过程一旦加密其定义即无法解密,任何人(包括存储过程的所有者或系统管理员) 都将无法查看存储过程定义。
H happyboyjia Unregistered / Unconfirmed GUEST, unregistred user! 2002-06-23 #11 下面是关于过程的另一段话。 获得有关存储过程的信息 若要显示用来创建过程的文本,请在过程所在的数据库中执行 sp_helptext, 并使用过程名作为参数。 说明 使用 ENCRYPTION 选项创建的存储过程不能使用 sp_helptext 查看。 若要显示有关过程引用的对象的报表,请使用 sp_depends。 若要为过程重命名,请使用 sp_rename
下面是关于过程的另一段话。 获得有关存储过程的信息 若要显示用来创建过程的文本,请在过程所在的数据库中执行 sp_helptext, 并使用过程名作为参数。 说明 使用 ENCRYPTION 选项创建的存储过程不能使用 sp_helptext 查看。 若要显示有关过程引用的对象的报表,请使用 sp_depends。 若要为过程重命名,请使用 sp_rename