博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql 加密解密函数
阅读量:7248 次
发布时间:2019-06-29

本文共 972 字,大约阅读时间需要 3 分钟。

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 then unicode ( substring ( @Key'A' , @i% @LenKey+ 1, 1))- 1                                                
                                                    when then 65535- unicode ( substring ( @Key'A' , @i% @LenKey+ 1, 1)) 
                                                    else 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 加密后字符串 
 
 
select dbo. fn_ACITEncryption( N'Roy', 0, '123' as 解密后字符串

转载于:https://www.cnblogs.com/masing/p/3346260.html

你可能感兴趣的文章
滴滴开源跨平台统一 MVVM 框架 Chameleon
查看>>
玖锦科技完成1.1亿元融资,中信惠科基金领投
查看>>
JavaWeb_常用功能_01_文件上传
查看>>
Git for Windows 2.21.0 发布,Win 下的 Git 客户端
查看>>
JSON和XML格式转换
查看>>
XXL-RPC v1.3.2,分布式服务框架
查看>>
将c++静态库实现二次封装供java调用
查看>>
在阿里云kubernetes上部署Jenkins Master
查看>>
VueJs开发笔记—IDE选择和优化、框架特性、数据调用、路由选项及使用
查看>>
MySQL 数据库的备份与恢复
查看>>
Android中的设计模式之单例模式
查看>>
使用Cordova将您的前端JavaScript应用打包成手机原生应用
查看>>
用Python玩转微信
查看>>
Bootstrap 小结
查看>>
《JavaScript权威指南》——JavaScript核心
查看>>
C语言 时间函数的学习
查看>>
你真的懂Redis事务吗?
查看>>
收藏 | 12个ggplot2拓展程序助你强化R可视化
查看>>
1-Linux C语言编程基本原理与实践-学习笔记
查看>>
WRF-DA代码编译与安装(二)——WRF-DA模块的编译与安装
查看>>