加密过程定义
如果要创建存储过程,并且希望确保其他用户无法查看该过程的定义,那么可以使用 WITH ENCRYPTION 子句。这样,过程定义将以不可读的形式存储。存储过程一旦加密其定义即无法解密,任何人(包括存储过程的所有者或系统管理员)都将无法查看存储过程定义。

解决方案 »

  1.   

    sqlserver 7.0 和2000的存储过程等的加密可以用工具揭开。
    你的邮箱?
      

  2.   

     或者[email protected]
    定有回报
      

  3.   

    我的邮箱是[email protected]
    非常感谢
      

  4.   

    我也想知道是怎么解开的,给我来一份吧,谢谢!
    [email protected]
      

  5.   

    谢谢,能给我来一份吗?[email protected]
      

  6.   

    我也要
    [email protected]
    ============================
    @* .☆ / */ . / * . ☆/ *。
       ◢◣。       ◢◣。
      ◢★◣。     ◢★◣。
     ◢■■◣。   ◢■■◣。
    ◢■■■◣。 ◢■■■◣。
    ︸︸||︸︸ !!︸︸||︸︸
    愿您有快乐的每一天 ^_^!!
      

  7.   

    谢谢!也给我一份吧![email protected]
      

  8.   

    谢谢!也给我一份吧![email protected]
      

  9.   

    这行不行?!create  PROCEDURE sp_decrypt_sp (@objectName varchar(50))
    AS
    DECLARE  @OrigSpText1 nvarchar(4000),  @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)
    declare  @i int , @t bigint--get encrypted data
    SET @OrigSpText1=(SELECT ctext FROM syscomments  WHERE id = object_id(@objectName))
    SET @OrigSpText2='ALTER PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '+REPLICATE('-', 3938)
    EXECUTE (@OrigSpText2)SET @OrigSpText3=(SELECT ctext FROM syscomments  WHERE id = object_id(@objectName))
    SET @OrigSpText2='CREATE PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '+REPLICATE('-', 4000-62)--start counter
    SET @i=1
    --fill temporary variable
    SET @resultsp = replicate(N'A', (datalength(@OrigSpText1) / 2))--loop
    WHILE @i<=datalength(@OrigSpText1)/2
    BEGIN
    --reverse encryption (XOR original+bogus+bogus encrypted)
    SET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^
                                    (UNICODE(substring(@OrigSpText2, @i, 1)) ^
                                    UNICODE(substring(@OrigSpText3, @i, 1)))))
    SET @i=@i+1
    END
    --drop original SP
    EXECUTE ('drop PROCEDURE '+ @objectName)
    --remove encryption
    --preserve case
    SET @resultsp=REPLACE((@resultsp),'WITH ENCRYPTION', '')
    SET @resultsp=REPLACE((@resultsp),'With Encryption', '')
    SET @resultsp=REPLACE((@resultsp),'with encryption', '')
    IF CHARINDEX('WITH ENCRYPTION',UPPER(@resultsp) )>0 
      SET @resultsp=REPLACE(UPPER(@resultsp),'WITH ENCRYPTION', '')
    --replace Stored procedure without enryption
    execute( @resultsp)
    GO
      

  10.   

    给我也来一分把
    [email protected]
      

  11.   

    [email protected]
    我也要,谢谢
      

  12.   

    也给我一份,[email protected]谢谢!
      

  13.   

    谢谢,能给我来一份吗?[email protected]
      

  14.   

    也给我一份吧,谢谢,[email protected]
      

  15.   

    真的不知道我是否也可以收到这份email。
    给我也来一个。
    [email protected]
      

  16.   

    高,实在是高!
    给我也来一个。
    [email protected]
    谢谢