SQLserver 脚本语句(.sql)密文存储在SQL2008以上版本中如何实现?

franticbaby 2016-04-24 02:15:00
有一些数据库结构、存储过程等.sql文件, 不想让人看清库结构,现在通过什么方式可以加密?以前在SQL7.0中可以生成带密文的语句,师范如下:
exec(decrypt(0x20D89BA23B101431DBBF53925CF6E3B6D2012CB259723828B4CD000EB22F6FE563A101A1015055B5CD717E60250CD68920906E1D39A7E678DAE8AEFC1C7E355E86B26F7AE107124506318BF1F0ABC0918C4D43A69DE39FB836129BC753B8EDB62F1CDA99E7D9E8DBAF7D5378D7543ECF3B057D0EE4C5D8EBBE9176D44BC599CD39236823BB7180285AAE6AA6C5166B74E0EAA910579FB4EA6D134F4667D1CD4A08BB372746F5F00B45BA06CB2560AD6CBE73E52B0D504A073F79811718206F10C97F1118EFAB2BF8513389546515E4A1E42C6FDF875F35593C196C0AF9F1F3DDE0A4B7729410F7F3E29F7431569AA50C49C4ECD09DB0792934C1D4DB23D60E5609442511860BBAC3A1B5D8F96405240EF47342293BA49B18F292B7736A3B3820E04AB6EAF11B911C6EF4B9D29760669D62C96EFA0862F89BA0DF696EC527588D37D28AF9E02CB3FA63B4EC6B74C50B99BDC48626ED1840457F8BCBD44B5B61AB9493A78C0FB117C70B23D399B6CF11567EA8ACBDC9D44D75FD5C4504E58E29BE6C45A3F4C9156B3A9B79F1DA31E5C852FCD14845C46775AB09310367C29C86670169C0701464A6B2CB4113D2E8D6A480FEBF8BA8E93A828370230AE6FB2CC7EA3DEB91621D3CACE9BE0A0A95D6F70C203CB4D90645FC43763220AC34927CCE4A9B30F380B8E69A88ECEF5E051BD022FF45C64229DB9E22F3BDBA42075742BED08A18F8F5E0FDD9F49383874D6C22795B9617D48A9AF08001B99CD8C3476C132DC697590E3F3CC475FF73923DDF801F062E6DAF0FAF0338129AC6032268D84F55BC784D52F978BDB07A347A800B33DCAE53AA59168EB30D617B2A0E69590FAD5C81FE373308591425F8021915D674FCDB81851C63E4CB4304B0E465F848CCA874D7E33241A4330AD49733761F4A60BFA1BB7FE4B7AD50314349379F1B0CDC5C127C7C6BE72390D9546C3695E9162AD478563421F916F3554F719EB20A7ADF228F5735831F01E7A434E5D7F3B157829FA9395A00CECC815C292A8BF69B49D02D9E7F738E5C11AE7BD7508BDCB0BD4ED811310840AA5DDF2346A2748D775A93B2FB286743F265AFDE36224D0D0957F8B02D1354D2165B492C032C9CC0746F662E95AA4C5CEFB138212CFD27F51681DA04939548EE2B6EDC
))



这个在SQL 2000/2005/2008中都能执行,但在2008R2及以后版本中,有的会报错。请教一下如何弄成这个样子?很明显可以看出从SQL7生成的这个代码是decrypt加密,秘钥是“sql”,求教在高版本SQL中的玩法
...全文
255 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
道素 2016-05-06
  • 打赏
  • 举报
回复
你可以用EncryptByPassPhrase,DecryptByPassPhrase加密解密,这对方法有个好处是可以设置一个公钥

EncryptByPassPhrase(@key, @StringData )
master.dbo.fn_varbintohexstr(@encrypt) 

DecryptByPassPhrase(@key, @Decrypt )
LongRui888 2016-05-06
  • 打赏
  • 举报
回复
我记得在高版本的sql中,直接支持多种加密算法,你可以直接加密,然后在解密执行

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧