• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
               

            1CM

              

            Base64Encode & Base64Decode

            unsigned???char*???_stdcall???Base64Encode(const???char???*str , int???length)?
            {???
            ????//int???length???
            = ???strlen(str) ; ?
            ????static???char???base64_table [] ??? = ?????
            ????{??
            ????????'A'
            , ???'B' , ???'C' , ???'D' , ???'E' , ???'F' , ???'G' , ???'H' , ???'I' , ???'J' , ???'K' , ???'L' , ???'M' , ?????
            ????????'N'
            , ???'O' , ???'P' , ???'Q' , ???'R' , ???'S' , ???'T' , ???'U' , ???'V' , ???'W' , ???'X' , ???'Y' , ???'Z' , ?????
            ????????'a'
            , ???'b' , ???'c' , ???'d' , ???'e' , ???'f' , ???'g' , ???'h' , ???'i' , ???'j' , ???'k' , ???'l' , ???'m' , ?????
            ????????'n'
            , ???'o' , ???'p' , ???'q' , ???'r' , ???'s' , ???'t' , ???'u' , ???'v' , ???'w' , ???'x' , ???'y' , ???'z' , ?????
            ????????'
            0 ' , ???' 1 ' , ???' 2 ' , ???' 3 ' , ???' 4 ' , ???' 5 ' , ???' 6 ' , ???' 7 ' , ???' 8 ' , ???' 9 ' , ???'+' , ???'/' , ???'\ 0 '?????
            ????}
            ;
            ????static???char???base64_pad??? = ???' = ' ; ?????
            ????unsigned???const???char???*current??? = ???(unsigned???const???char*)str ; ???
            ????int???i??? = ??? 0 ; ?????
            ????unsigned???char???*result??? = ???(unsigned???char???*)malloc(((length???+??? 3 ???-???length???%??? 3 )???*??? 4 ???/??? 3 ???+??? 1 )???*???sizeof(char)) ; ?????
            ????while???(length???>??? 2 )???{???/*???keep???going???until???we???have???less???than??? 24 ???bits???*/???
            ????????result
            [ i++ ] ??? = ???base64_table [ current[0 ] ???>>??? 2 ] ; ?
            ????????result [ i++ ] ??? = ???base64_table [ ((current[0 ] ???&???0x03)???<<??? 4 )???+???(current [ 1 ] ???>>??? 4 )] ; ?????
            ????????result [ i++ ] ??? = ???base64_table [ ((current[1 ] ???&???0x0f)???<<??? 2 )???+???(current [ 2 ] ???>>??? 6 )] ; ?????
            ????????result [ i++ ] ??? = ???base64_table [ current[2 ] ???&???0x3f] ; ?????
            ????????current???+ = ??? 3 ; ?????
            ????????length???- = ??? 3 ; ???/*???we???just???handle???3???octets???of???data???*/?????
            ????}?????
            ????/*???now???deal???with???the???tail???end???of???things???*/?????
            ????if???(length???!
            = ??? 0 )???{?????
            ????????result
            [ i++ ] ??? = ???base64_table [ current[0 ] ???>>??? 2 ] ; ?????
            ????????if???(length???>??? 1 )???{?????
            ????????????result
            [ i++ ] ??? = ???base64_table [ ((current[0 ] ???&???0x03???)???<<??? 4 )???+???(current [ 1 ] ???>>??? 4 )] ; ?????
            ????????????result [ i++ ] ??? = ???base64_table [ (current[1 ] ???&???0x0f)???<<??? 2 ] ; ???result[i++]???=???base64_pad;???
            ????????}???
            ????????else???{???
            ????????????result
            [ i++ ] ??? = ???base64_table [ (current[0 ] ???&???0x03)???<<??? 4 ] ; ???
            ????????????result [ i++ ] ??? = ???base64_pad ; ???
            ????????????result [ i++ ] ??? = ???base64_pad ; ???
            ????????}???
            ????}???
            ????result
            [ i ] ??? = ???'\ 0 ' ; ???//???printf("%s\n",result);???
            ????return???result ; ???
            }

            unsigned???char*???_stdcall???Base64Decode(const???unsigned???char???*str
            , ???int???length , ???int???*ret_length)
            {?
            ????static???char???base64_table
            [] ??? = ?????
            ????{??
            ????????'A'
            , ???'B' , ???'C' , ???'D' , ???'E' , ???'F' , ???'G' , ???'H' , ???'I' , ???'J' , ???'K' , ???'L' , ???'M' , ?????
            ????????'N'
            , ???'O' , ???'P' , ???'Q' , ???'R' , ???'S' , ???'T' , ???'U' , ???'V' , ???'W' , ???'X' , ???'Y' , ???'Z' , ?????
            ????????'a'
            , ???'b' , ???'c' , ???'d' , ???'e' , ???'f' , ???'g' , ???'h' , ???'i' , ???'j' , ???'k' , ???'l' , ???'m' , ?????
            ????????'n'
            , ???'o' , ???'p' , ???'q' , ???'r' , ???'s' , ???'t' , ???'u' , ???'v' , ???'w' , ???'x' , ???'y' , ???'z' , ?????
            ????????'
            0 ' , ???' 1 ' , ???' 2 ' , ???' 3 ' , ???' 4 ' , ???' 5 ' , ???' 6 ' , ???' 7 ' , ???' 8 ' , ???' 9 ' , ???'+' , ???'/' , ???'\ 0 '?????
            ????}
            ; ?
            ????static???char???base64_pad??? = ???' = ' ; ?
            ????const???unsigned???char???*current??? = ???str ; ?
            ????int???ch , ???i??? = ??? 0 , ???j??? = ??? 0 , ???k ; ?
            ????/*???this???sucks???for???threaded???environments???*/?
            ????static???short???reverse_table
            [ 256 ] ; ?
            ????static???int???table_built ; ?
            ????unsigned???char???*result ; ?
            ???
            ????if???(++table_built???
            == ??? 1 )???{?
            ????????char???*chp
            ; ?
            ????????for(ch??? = ??? 0 ; ???ch???<???256;???ch++)???{?
            ????????????chp??? = ???strchr(base64_table , ???ch) ; ?
            ????????????if(chp)???{?
            ????????????????reverse_table
            [ ch ] ??? = ???chp???-???base64_table ; ?
            ????????????}???else???{?
            ????????????????reverse_table
            [ ch ] ??? = ???- 1 ; ?
            ????????????}?
            ????????}?
            ????}?
            ???
            ????result???
            = ???(unsigned???char???*)malloc(length???+??? 1 ) ; ?
            ????if???(result??? == ???NULL)???{?
            ????????return???NULL
            ; ?
            ????}?
            ???
            ????/*???run???through???the???whole???string
            , ???converting???as???we???go???*/?
            ????while???((ch???
            = ???*current++)???! = ???'\ 0 ')???{?
            ????????if???(ch???
            == ???base64_pad)???break ; ?
            ???????
            ????????/*???When???Base64???gets???POSTed
            , ???all???pluses???are???interpreted???as???spaces.?
            ????????This???line???changes???them???back.?????It's???not???exactly???the???Base64???spec
            , ?
            ????????but???it???is???completely???compatible???with???it???(the???spec???says???that?
            ????????spaces???are???invalid).?????This???will???also???save???many???people???considerable?
            ????????headache.?????-???Turadg???Aleahmad???<turadg@wise.berkeley.edu>?
            ????????*/?
            ???????
            ????????if???(ch???
            == ???'???')???ch??? = ???'+' ; ???
            ???????
            ????????ch???
            = ???reverse_table [ ch ] ; ?
            ????????if???(ch???<??? 0 )???continue ; ?
            ???????
            ????????switch(i???%???
            4 )???{?
            ????????case???
            0 :?
            ????????????result
            [ j ] ??? = ???ch???<<??? 2 ; ?
            ????????????break ; ?
            ????????case??? 1 :?
            ????????????result
            [ j++ ] ???| = ???ch???>>??? 4 ; ?
            ????????????result [ j ] ??? = ???(ch???&???0x0f)???<<??? 4 ; ?
            ????????????break ; ?
            ????????case??? 2 :?
            ????????????result
            [ j++ ] ???| = ???ch???>> 2 ; ?
            ????????????result [ j ] ??? = ???(ch???&???0x03)???<<??? 6 ; ?
            ????????????break ; ?
            ????????case??? 3 :?
            ????????????result
            [ j++ ] ???| = ???ch ; ?
            ????????????break ; ?
            ????????}?
            ????????i++
            ; ?
            ????}?
            ???
            ????k???
            = ???j ; ?
            ????/*???mop???things???up???if???we???ended???on???a???boundary???*/?
            ????if???(ch???
            == ???base64_pad)???{?
            ????????switch(i???%???
            4 )???{?
            ????????case???
            0 :?
            ????????case???
            1 :?
            ????????????free(result)
            ; ?
            ????????????return???NULL ; ?
            ????????case??? 2 :?
            ????????????k++
            ; ?
            ????????case??? 3 :?
            ????????????result
            [ k++ ] ??? = ??? 0 ; ?
            ????????}?
            ????}?
            ????if(ret_length)???{?
            ????????*ret_length???
            = ???j ; ?
            ????}?
            ????result
            [ k ] ??? = ???'\ 0 ' ; ?
            ????return???result ; ?
            }

            posted on 2008-02-21 10:31 1CM 閱讀(1785) 評論(3)  編輯 收藏 引用

            評論

            # re: Base64Encode & Base64Decode 2008-08-15 13:44 求助

            sfXjDyReveCmjocpalXyOfUbWtXkKmZwskUmOtUstjnqIc5dwqUu9b5plznojaUjswmjNpCmvvnnXynqXvZyiwUctlUs8wUxvbXnMlXzDamqcuUdRhdcssBpPqkpIrnktnnrVzXntm5uZpmrQmnzFnUducAt9nZxxsnoVvXaLrZr9lnl8yndqj5xshRwFiZrWxZsuqjnzwjvzgXy9dUgMfXkptntbeUfskUvMmXbbiZzEcZlaqXkeamyeyUxzaAszp5sthRvknbwqxmzzvXhrwXlQdkbQvnfzbXwrdjieaXzxtnmtajlxrAytpAysrjt6gUaFyZvXfUdQpRzNmmpUnXtKuZcQmXnBs5xzukjOrUaZkZufrnmObng5gmf7inaNxRaPqjwawne8gmhodnpoxXtAlXcRd9ovcnewlZqubAiVbUuDiUtPsnhbxZgHzmbwombmhmeunnlfxXi
            求您幫我解密。
            先謝謝了!
            qq:63519422  回復  更多評論   

            # re: Base64Encode & Base64Decode 2008-08-25 21:20 hello

            @求助
            B1F5E30F245EBDE0A68E87296A55F239F51B5AD5E42A6670B245263AD52CB639EA21CE5DC2A52EF5
            BE699739E88DA523B309A33690A6BEF9E75F29EA5EF6728B051CB6552CF30531BDB5E73255F30DA9
            AA72E51D46175CB2C0693EA92922B9E4B679EB5735E7B66E6E6699AB4269F316751DB9C02DF67671
            C6C9E856F5DA2EB66BF659E5F329DDAA3E71B2147016266B5B166CBAA8E7CF08EFCE05F2F5D52031
            F5E4A6D9ED6DE51FB2452F3265DB6E267311C6656AA5E479A9B27B2531CDA02CCE9E6CB6146F9276
            F0AB19B3CEF5E1AF05E541D91B42F9DFCDB5F0ADD8E279A5F3C6D9E6B5A8E5C6B032B69032B2B8ED
            EA051A17266F5DF51D4294733669A95275ED2AE65C4265E706CE71CEE9233AB51A66466E7EB9E639
            B9E0E6099FEE29DA37145A3EA8F06B09DEF209A1A1D9E9A315ED0255DC45DF68BDC9DEC2566AB9B0
            2255B52E0E252D3EC9E16F16601F399BC2899B9A199EBA79E57F15E2  回復  更多評論   

            # re: Base64Encode & Base64Decode 2008-10-07 12:23 lh

            非常感謝!  回復  更多評論   

            久久精品国产半推半就| 久久婷婷五月综合国产尤物app| 久久精品中文字幕一区| 日韩AV无码久久一区二区| 久久精品国产亚洲AV香蕉| 青青青伊人色综合久久| 午夜精品久久久内射近拍高清| 色综合久久久久综合体桃花网| 国产亚洲婷婷香蕉久久精品| 少妇久久久久久被弄到高潮| 国产精品无码久久综合| 久久影视综合亚洲| 久久久久综合网久久| 一本色道久久综合狠狠躁篇| 狠狠色丁香婷综合久久| 一本色道久久综合狠狠躁篇| 99久久超碰中文字幕伊人| 国内精品伊人久久久影院| 18岁日韩内射颜射午夜久久成人 | 伊人色综合九久久天天蜜桃| 99久久精品日本一区二区免费| 久久久久婷婷| 久久99久久无码毛片一区二区| 亚洲国产另类久久久精品黑人| 久久伊人色| 久久国产成人亚洲精品影院| 久久99精品国产99久久6男男| 亚洲va久久久噜噜噜久久男同 | AV无码久久久久不卡蜜桃| 国内精品久久久久久久涩爱| 久久国产成人精品麻豆| 国产精品久久久久jk制服| 亚洲AV日韩AV天堂久久| 久久国语露脸国产精品电影| 久久强奷乱码老熟女网站| 99久久做夜夜爱天天做精品| 97视频久久久| 日日噜噜夜夜狠狠久久丁香五月| 中文精品久久久久人妻不卡| 人人狠狠综合久久88成人| 国产精品99久久免费观看|