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软件

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

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

  • 相关阅读:
    《Spring in action 4》(十一)SSM + Redis
    git 上传时报文件已存在的错
    JQuery--find与filter
    初识mysql
    并发--模块整理
    守护进程与守护线程
    用string模块生成随机验证码
    loggin 模块及其单例模式
    TCP协议--黏包现象
    网络编程---tcp/udp协议
  • 原文地址:https://www.cnblogs.com/lhmlyx2723356/p/3353842.html
Copyright © 2011-2022 走看看