sql2008如何查看加密存储过程
1、1.存储过程(sp_EncryptObject)加密的方法是在存储过程,函数,视图的“As”位置前加上“with encryption”;如果是触发器,就在“for”位置前加“with encryption”。
如果触发器是{ AFTER | INSTEAD OF} 需要修改下面代码"For"位置:

2、2.存储过程的完整代码:






3、3.解密过程,最重要采用异或方法代码:
[字符1]经过函数 fn_x(x)加密变成[加密后字符1],如果我们已知[加密后字符1],反过来查[字符1],可以这样:
[字符1] = [字符2] ^ fn_x([字符2]) ^ [加密后字符1]

4、4.在一个测试环境中(DB: Test),先执行上面的加密存储过程(sp_EncryptObject)和解密存储过程(sp_EncryptObject);再创建两个表:TableA & TableB

5、5.我们要创建6个未加密的对象(对象类型包含 'P','V','TR','FN','IF','TF'):
视图(myView):

6、6.触发器(MyTrigger)代码

7、7.存储过程(MyProc)代码:

8、8.用户定义表值函数(TF)(MyFunction_TF)代码

9、9.内联表值函数(IF) (MyFunction_IF)代码

10、10.标量函数(FN)(MyFunction_FN)代码

11、11.当执行完了上面的1-6步骤的脚本,我们通过查询系统视图sys.sql_modules,可以看到未加密前的定义信息


声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:111
阅读量:176
阅读量:22
阅读量:43
阅读量:63