久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    <small id='HM31G'></small><noframes id='HM31G'>

    <tfoot id='HM31G'></tfoot>
  1. <i id='HM31G'><tr id='HM31G'><dt id='HM31G'><q id='HM31G'><span id='HM31G'><b id='HM31G'><form id='HM31G'><ins id='HM31G'></ins><ul id='HM31G'></ul><sub id='HM31G'></sub></form><legend id='HM31G'></legend><bdo id='HM31G'><pre id='HM31G'><center id='HM31G'></center></pre></bdo></b><th id='HM31G'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='HM31G'><tfoot id='HM31G'></tfoot><dl id='HM31G'><fieldset id='HM31G'></fieldset></dl></div>
        <bdo id='HM31G'></bdo><ul id='HM31G'></ul>
      <legend id='HM31G'><style id='HM31G'><dir id='HM31G'><q id='HM31G'></q></dir></style></legend>

      iOS5和iOS6的CCCrypt區(qū)別

      CCCrypt difference between iOS5 and iOS6(iOS5和iOS6的CCCrypt區(qū)別)
      <legend id='ZMCay'><style id='ZMCay'><dir id='ZMCay'><q id='ZMCay'></q></dir></style></legend>
    1. <small id='ZMCay'></small><noframes id='ZMCay'>

            • <bdo id='ZMCay'></bdo><ul id='ZMCay'></ul>
            • <i id='ZMCay'><tr id='ZMCay'><dt id='ZMCay'><q id='ZMCay'><span id='ZMCay'><b id='ZMCay'><form id='ZMCay'><ins id='ZMCay'></ins><ul id='ZMCay'></ul><sub id='ZMCay'></sub></form><legend id='ZMCay'></legend><bdo id='ZMCay'><pre id='ZMCay'><center id='ZMCay'></center></pre></bdo></b><th id='ZMCay'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='ZMCay'><tfoot id='ZMCay'></tfoot><dl id='ZMCay'><fieldset id='ZMCay'></fieldset></dl></div>

                <tbody id='ZMCay'></tbody>

              <tfoot id='ZMCay'></tfoot>
              • 本文介紹了iOS5和iOS6的CCCrypt區(qū)別的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

                問(wèn)題描述

                限時(shí)送ChatGPT賬號(hào)..

                我有一個(gè)使用 CCCrypt() 的解密/加密方法,它在 iOS5 上運(yùn)行得非常好.現(xiàn)在我正在使用 iOS6 SDK 并且從未更改過(guò)我的代碼,但似乎有些東西壞了.我仍然可以使用密鑰加密字符串并對(duì)其進(jìn)行解密,但如果我使用另一個(gè)密鑰解密同一字符串,則從 CCCrypt() 返回的 CCCryptStatus 仍然是 0(kCCSuccess) - 即使解密失敗,因?yàn)樵谀侵笪业?NSData 沒(méi)有被填充.在 iOS5 上,我收到了我可以處理的錯(cuò)誤消息 -4303.有什么想法現(xiàn)在有什么問(wèn)題嗎?

                I have got a decryption/encryption method using CCCrypt() which worked really well on iOS5. Now I am working with the iOS6 SDK and never changed my code, but it seems that something is broken. I can still encrypt a string with a key and decrypt it, but if I use another key to decrypt the same string, the CCCryptStatus coming back from CCCrypt() is still 0(kCCSuccess) - even when the decryption fails, because after that my NSData isn't filled. On iOS5 I got the error message -4303 which I could handle then. Any ideas what can be wrong now?

                我的代碼:

                char keyPtr[kCCKeySizeAES256+1]; 
                bzero(keyPtr, sizeof(keyPtr)); // fill with zeroes (for padding)
                
                // fetch key data
                [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
                
                if (encryptOrDecrypt == kCCDecrypt)
                {
                    data = [GTMBase64 decodeData:data];
                }
                
                NSUInteger dataLength = [data length];
                
                size_t bufferSize = dataLength + kCCBlockSizeAES128;
                
                void *buffer = malloc(bufferSize);
                
                size_t numBytesDecrypted = 0;
                CCCryptorStatus cryptStatus = CCCrypt(encryptOrDecrypt,
                                                      kCCAlgorithmAES128,
                                                      kCCOptionPKCS7Padding,
                                                      keyPtr,
                                                      kCCKeySizeAES256,
                                                      NULL ,
                                                      [data bytes], dataLength, 
                                                      buffer,       bufferSize, 
                                                      &numBytesDecrypted);
                
                if (cryptStatus != kCCSuccess){
                    // do something, but cryptStatus is always 0!
                }
                

                在 iPad Simulator 5 上對(duì)其進(jìn)行了測(cè)試.當(dāng)我使用另一個(gè)密鑰進(jìn)行解密時(shí),我收到的狀態(tài)是 -4303.僅在 ios6 中返回的狀態(tài)為 0.

                Tested it on iPad Simulator 5. When I make a decryption with another key the status I receive is -4303. Only in ios6 the status coming back is 0.

                推薦答案

                我不是加密專(zhuān)家,但我有同樣的問(wèn)題并想出了一個(gè)解決方法,也許在有人找到真正的解決方案之前會(huì)很好.

                I'm not an expert i encryption, but I have the same problem and figured a workaround maybe it will be fine until some will find a real solution.

                我所做的只是確定哪個(gè) iOS 正在運(yùn)行,對(duì)于 6+,我將 CCCrypt 調(diào)用更改為無(wú)填充(0 表示無(wú)填充,1 是 kCCOptionPKCS7Padding 的枚舉)

                all I did is to figure which iOS is running and for 6+ i'm changing the CCCrypt call to no padding (0 is for no padding, 1 is the enum for kCCOptionPKCS7Padding)

                float version = [[UIDevice currentDevice].systemVersion floatValue];
                if (version >= 6)
                {
                    CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, 0,
                                                          keyPtr, kCCKeySizeAES128,
                                                          ivPtr,
                                                          [self bytes], dataLength,
                                                          buffer, bufferSize, 
                                                          &numBytesDecrypted );
                
                
                    if( cryptStatus == kCCSuccess )
                    {
                        return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted];
                    }
                
                    free( buffer ); 
                    return nil;
                }
                else
                {
                    CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, 1,
                                                          keyPtr, kCCKeySizeAES128,
                                                          ivPtr,
                                                          [self bytes], dataLength,
                                                          buffer, bufferSize, 
                                                          &numBytesDecrypted );
                    if( cryptStatus == kCCSuccess )
                    {
                        return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted];
                    }
                
                    free( buffer );
                    return nil;
                }
                

                這篇關(guān)于iOS5和iOS6的CCCrypt區(qū)別的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                How to animate a UIImageview to display fullscreen by tapping on it?(如何通過(guò)點(diǎn)擊動(dòng)畫(huà) UIImageview 以顯示全屏?)
                To stop segue and show alert(停止 segue 并顯示警報(bào))
                iOS 5 storyboard, programmatically determine path(iOS 5 故事板,以編程方式確定路徑)
                Icon already includes gloss effects(圖標(biāo)已經(jīng)包含光澤效果)
                How does UIEdgeInsetsMake work?(UIEdgeInsetsMake 是如何工作的?)
                UIProgressView and Custom Track and Progress Images (iOS 5 properties)(UIProgressView 和自定義跟蹤和進(jìn)度圖像(iOS 5 屬性))

              • <i id='zpDOw'><tr id='zpDOw'><dt id='zpDOw'><q id='zpDOw'><span id='zpDOw'><b id='zpDOw'><form id='zpDOw'><ins id='zpDOw'></ins><ul id='zpDOw'></ul><sub id='zpDOw'></sub></form><legend id='zpDOw'></legend><bdo id='zpDOw'><pre id='zpDOw'><center id='zpDOw'></center></pre></bdo></b><th id='zpDOw'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='zpDOw'><tfoot id='zpDOw'></tfoot><dl id='zpDOw'><fieldset id='zpDOw'></fieldset></dl></div>
              • <small id='zpDOw'></small><noframes id='zpDOw'>

                        <bdo id='zpDOw'></bdo><ul id='zpDOw'></ul>
                          <tbody id='zpDOw'></tbody>
                        <tfoot id='zpDOw'></tfoot>
                        <legend id='zpDOw'><style id='zpDOw'><dir id='zpDOw'><q id='zpDOw'></q></dir></style></legend>

                        1. 主站蜘蛛池模板: 国产不卡视频在线 | 在线一区| 国产视频精品视频 | 一级a性色生活片久久毛片 一级特黄a大片 | 国产偷录叫床高潮录音 | 日本不卡免费新一二三区 | 欧美精品二区 | 国户精品久久久久久久久久久不卡 | 农夫在线精品视频免费观看 | 伊人网在线综合 | www.婷婷亚洲基地 | 成人免费视频在线观看 | 久久久久久国产精品 | 成人免费视频在线观看 | 午夜一区二区三区在线观看 | 99精品视频网 | 久久久美女 | 欧美日韩高清免费 | 国产美女一区二区 | 嫩草视频在线看 | 久久成人一区二区三区 | 国产97人人超碰caoprom | 国产欧美一区二区精品忘忧草 | 黄色中文字幕 | 中文字幕视频在线观看 | 日韩精品视频中文字幕 | 中文字幕一区二区三区精彩视频 | 中文字幕亚洲视频 | 懂色tv | 天天操一操| 精品亚洲永久免费精品 | 午夜爽爽爽男女免费观看 | 亚洲精品电影 | 中文字幕高清av | 日韩a视频 | 一区二区在线 | 国产精品一区在线播放 | 一区二区三区视频 | 亚洲成人中文字幕 | 另类专区亚洲 | 亚洲精品一级 |