1显示的是OQ==
10712显示的是0dujfig==
所有的后面全是以==结尾
请问这个是什么加密算法··

解决方案 »

  1.   

    一般DES 加密以后会有等号结尾。肯定不是MD5..MD5 长度固定 且不是=号结尾的
      

  2.   

     啊错得呀 1101051648 得出来的结果是0doQsd4pZRuirQ==
     谁能把我下面的算算是什么  0d/iBE+7QzzT==   和0dJL9f96ewc==
      

  3.   

    再补充一下  希望能有点线索  
    0(0A)
    1(0Q)
    2(0g)
    3(0w)
    括号内的0是数字0 不是字母o
      

  4.   

    呵呵  不一样很正常这种加密,需要有个 “中介字符串”
    用法类似于:加密('1101051648','csdn.net')= 'xMDEwNTE2NDgs=='
    加密('1','csdn.net')= 'x=='当中介字符串变了的时候 
    加变后的值也变了加密('1','csdn')= 'y=='这样说你能明白吗? 需要猜到用什么方法加密,还要猜到用什么中转字符做偏移所以不太好破。简单你可以理解为2进值下 一个值加另一个值的偏移形成的加密串。
      

  5.   

    base64 加密后末尾会有两个等号
      

  6.   


    CREATE FUNCTION dbo.f_base64_decode ( @input VARCHAR(MAX) )
    RETURNS VARBINARY(MAX)
    AS 
        BEGIN
            DECLARE @base64 CHAR(64) ,
                @pos INT ,
                @len INT ,
                @output VARBINARY(MAX) ;
            SELECT  @base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' ,
                    @pos = 1 ,
                    @len = LEN(@input) ,
                    @output = 0x ;
            IF @input = '' 
                RETURN 0x ;
            IF @len % 4 > 0
                OR @len IS NULL 
                RETURN NULL ;
            WHILE @pos < @len 
                BEGIN
                    SELECT  @output = @output + CONVERT(BINARY(1), ( ( v1 & 63 )
                                                                  * 4 ) | ( ( v2
                                                                  & 48 ) / 16 ))
                            + CONVERT(BINARY(1), ( ( v2 & 15 ) * 16 ) | ( ( v3
                                                                  & 60 ) / 4 ))
                            + CONVERT(BINARY(1), ( ( v3 & 3 ) * 64 ) | ( ( v4 & 63 )
                                                                  / 1 )) ,
                            @pos = @pos + 4
                    FROM    ( SELECT    v1 = CHARINDEX(SUBSTRING(@input, @pos + 0,
                                                                 1) COLLATE Chinese_PRC_BIN,
                                                       @base64) - 1 ,
                                        v2 = CHARINDEX(SUBSTRING(@input, @pos + 1,
                                                                 1) COLLATE Chinese_PRC_BIN,
                                                       @base64) - 1 ,
                                        v3 = CHARINDEX(SUBSTRING(@input, @pos + 2,
                                                                 1) COLLATE Chinese_PRC_BIN,
                                                       @base64) - 1 ,
                                        v4 = CHARINDEX(SUBSTRING(@input, @pos + 3,
                                                                 1) COLLATE Chinese_PRC_BIN,
                                                       @base64) - 1
                            ) A ;
                END ;
            RETURN(SUBSTRING(@output, 1, @len / 4 * 3 - 3 + CHARINDEX('=', RIGHT(@input, 2) + '='))) ;
        END ;
    GOdeclare @t table (col varchar(4))
    insert into @t
    select '0A==' union all
    select '0Q==' union all
    select '0g==' union all
    select '0w=='select dbo.f_base64_decode(col) from @t
    /*
    0xD0
    0xD1
    0xD2
    0xD3
    */
      

  7.   

    CREATE FUNCTION [dbo].[base64_encode] ( @data VARBINARY(MAX) )
    RETURNS VARCHAR(MAX)
        WITH SCHEMABINDING,
             RETURNS NULL ON NULL INPUT
        BEGIN 
            RETURN (SELECT [text()] = @data FOR XML PATH('')) 
        END
     
     DECLARE @t TABLE ( id VARBINARY(4) )
     INSERT INTO @t
            SELECT  1  UNION SELECT  2 UNION 
            SELECT  3  UNION SELECT  4
     
     SELECT  dbo.[base64_encode](id+207) FROM @t
    /*
    AAAA0A==
    AAAA0Q==
    AAAA0g==
    AAAA0w==
    */