zoukankan      html  css  js  c++  java
  • 教你怎樣實現SQL密文加密,不可反編譯

    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 個資料列受到影響 )

    */

  • 相关阅读:
    Linux基本常用知识整理
    uva488 Triangle Wave
    uva 10300 Ecological Premium
    Silverlight知识链接整理(11月12月)
    关于微软高校“创新之旅”活动—郑州大学站公告
    心动的Silverlight5
    Silverlight图片处理——Deep Zoom Composer
    微软高校“创新之旅”巡回活动郑州大学站圆满落幕
    Silverlight之Button控件简单自定义
    Silverlight之工具箱使用1
  • 原文地址:https://www.cnblogs.com/Roy_88/p/5463087.html
Copyright © 2011-2022 走看看