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

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

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

  • 相关阅读:
    查询中常用的扩展方法
    加载关联表的数据 显式加载
    加载关联表的数据 延迟加载
    加载关联表的数据 贪婪加载
    操作内存中的数据
    DBContext基础查询
    EF简单增删改查
    1- MySQL数据库基础快速入门
    1-3 Postman 注册账号与登录
    1-2 postman工具简介
  • 原文地址:https://www.cnblogs.com/lhmlyx2723356/p/3353842.html
Copyright © 2011-2022 走看看