zoukankan      html  css  js  c++  java
  • MS 数据库存储过程加密解密

    存储过程加密解密在网上有很多,刚刚好最近需要用到,所以就查询了一下资料。记录一下

    加密方法:执行如下存储过程

    DECLARE @sp_name nvarchar(400)
    DECLARE @sp_content nvarchar(2000)
    DECLARE @asbegin int
    declare @now datetime
    select @now = getdate()
    DECLARE sp_cursor CURSOR FOR
    SELECT object_name(id)
    FROM sysobjects
    WHERE xtype = 'P'
    AND type = 'P'
    AND crdate < @now
    AND OBJECTPROPERTY(id, 'IsMSShipped')=0

    OPEN sp_cursor

    FETCH NEXT FROM sp_cursor
    INTO @sp_name

    WHILE @@FETCH_STATUS = 0
    BEGIN
    SELECT @sp_content = text FROM syscomments WHERE id = OBJECT_ID(@sp_name)
    SELECT @asbegin = PATINDEX ( '%AS' + char(13) + '%', @sp_content)
    SELECT @sp_content = SUBSTRING(@sp_content, 1, @asbegin - 1)
    + ' WITH ENCRYPTION AS'
    + SUBSTRING (@sp_content, @asbegin+2, LEN(@sp_content))
    SELECT @sp_name = 'DROP PROCEDURE [' + @sp_name + ']'
    EXEC sp_executesql @sp_name
    EXEC sp_executesql @sp_content
    FETCH NEXT FROM sp_cursor
    INTO @sp_name
    END

    CLOSE sp_cursor
    DEALLOCATE sp_cursor

    执行完成之后,再去修改存储过程会提示如下结果:此时证明加密成功。

    解密方法:利用 dbForge SQL Decryptor软件

    登录成功之后,选中加密的数据库,然后操作如下图,就可以看到加密后的存储过程里的真实内容了。

    至此,存储过程,加密解密都完成了。。

  • 相关阅读:
    javascript实战演练,制作新按钮,‘新窗口打开网站’,点击打开新窗
    P1332 血色先锋队
    P4643 [国家集训队]阿狸和桃子的游戏
    T149876 公约数
    P1462 通往奥格瑞玛的道路
    P1083 借教室
    Tribles UVA
    Fence Repair POJ
    Crossing Rivers
    关于一轮
  • 原文地址:https://www.cnblogs.com/lhmlyx2723356/p/3353842.html
Copyright © 2011-2022 走看看