[交流貼]教你怎樣實現SQL密文加密,不可反編譯

中国风
领域专家: 数据库技术领域
2010-01-05 10:40:14
加精
分享一下方法
用SQL2005以上版本,可用CLR自定義規則.規則最好還是封裝在程序里


use Tempdb
go
if object_ID('fn_ACITEncryption') is not null
drop function fn_ACITEncryption
go
create function fn_ACITEncryption
(
@Str nvarchar(4000),--加密的字符串
@Flag bit=1,--1、加密 0、解密
@Key nvarchar(50)--密文
)
returns nvarchar(4000)--這里可轉換成二進制
with Encryption
as
begin
Declare @LenStr int,@i int,@Str2 nvarchar(4000),@Split nvarchar(2),@LenKey int
select @Str=@Str+'A',@LenStr=len(@Str),@i=1,@Str2='',@LenKey=Len(@Key+'A')-1
while @i<@LenStr
select @Split=substring(@Str,@i,1),
@Split=nchar((unicode(@Split)+case @Flag when 1 then unicode(substring(@Key+'A',@i%@LenKey+1,1))-1
when 0 then 65535-unicode(substring(@Key+'A',@i%@LenKey+1,1))
else 0 end)%65535+cast(@Flag as int)),
@Str2=@Str2+@Split,@i=@i+1
return @Str2

end
go
select dbo.fn_ACITEncryption(N'Roy',1,'123') as 加密后字符串

/*
加密后字符串
------------------------------
㢻

(1 個資料列受到影響)

*/
select dbo.fn_ACITEncryption(N'„¢ª',0,'123') as 解密后字符串
/*
解密后字符串
--------------------------
Roy

(1 個資料列受到影響)
*/

http://blog.csdn.net/roy_88/archive/2009/11/12/4801917.aspx
...全文
3470 143 打赏 收藏 转发到动态 举报
写回复
用AI写文章
143 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangBB 2010-05-25
  • 打赏
  • 举报
回复
ding yige ..
seraph99 2010-03-13
  • 打赏
  • 举报
回复
学习了。
limitstar 2010-01-20
  • 打赏
  • 举报
回复
好贴,学习中
迅帮 2010-01-13
  • 打赏
  • 举报
回复
学习 学习 学习 学习
中国风 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 107 楼 sotom 的回复:]
不错,  菜菜的问下, 那个加密后的字符能够在数据库存储不?
[/Quote]
可以,字段的存儲類型用Unicode
zl194 2010-01-13
  • 打赏
  • 举报
回复
yukwang 2010-01-11
  • 打赏
  • 举报
回复
赞一个,学习了。
shuanglo524 2010-01-11
  • 打赏
  • 举报
回复
学习了!~
jackeyabc 2010-01-10
  • 打赏
  • 举报
回复
学习
hj26511314 2010-01-10
  • 打赏
  • 举报
回复
学习
  • 打赏
  • 举报
回复
好棒的,我先收藏起来慢慢的研究
jishengzu 2010-01-10
  • 打赏
  • 举报
回复
Akai007 2010-01-10
  • 打赏
  • 举报
回复
还不错
「已注销」 2010-01-10
  • 打赏
  • 举报
回复
DDDDDDDDDDDDDDDDDDDDDDDD
ws54ttl 2010-01-10
  • 打赏
  • 举报
回复
收藏掉 哼哼~!
alex12qwer 2010-01-09
  • 打赏
  • 举报
回复
学习
lzp765 2010-01-09
  • 打赏
  • 举报
回复
jf
samyou 2010-01-09
  • 打赏
  • 举报
回复
学习了。
lao_bulls 2010-01-09
  • 打赏
  • 举报
回复
mark.
wzy_love_sly 2010-01-09
  • 打赏
  • 举报
回复
强大
加载更多回复(123)
内容概要:本文围绕单相统一功率因数变流器的控制技术展开深入研究,提出并实现了基于不平衡d-q坐标系的控制器设计方案,旨在提升单相电压源逆变器(VSI)或交直变流器在统一功率因数模式下的运行性能。研究采用同步旋转参考坐标系下的控制策略,有效解决了单相系统中功率波动与电流畸变等问题,增强了系统的动态响应能力、稳态精度及抗干扰性。通过Simulink仿真平台构建完整的系统模型,对控制算法进行了全面验证,涵盖启动过程、负载突变、电网扰动等多种工况,充分展示了该方法的可行性与优越性。同时,文中提供了详细的仿真资源获取途径,便于读者复现与拓展研究。; 适合人群:具备电力电子、自动控制及电力系统等相关专业知识背景,从事新能源发电、微电网、电能质量治理、变流器控制等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于单相逆变器实现高功率因数并网控制的技术开发与优化;②为弱电网环境下变流器稳定运行控制策略的研究提供仿真基础与技术支撑;③服务于高校相关课程学、科研课题攻关及实际工程项目中的控制器设计与验证工作。; 阅读建议:建议读者结合所提供的Simulink仿真模型进行动手实践,重点掌握d-q坐标变换、电流环设计、PI参数整定等关键环节,并尝试将该方法推广至其他类型的单相电力电子系统中,进一步深化对同步参考坐标系下控制理论的理解与应用。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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