pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    <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="yujqizf" 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區別

      CCCrypt difference between iOS5 and iOS6(iOS5和iOS6的CCCrypt區別)
      <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="8ojqljo" 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區別的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                我有一個使用 CCCrypt() 的解密/加密方法,它在 iOS5 上運行得非常好.現在我正在使用 iOS6 SDK 并且從未更改過我的代碼,但似乎有些東西壞了.我仍然可以使用密鑰加密字符串并對其進行解密,但如果我使用另一個密鑰解密同一字符串,則從 CCCrypt() 返回的 CCCryptStatus 仍然是 0(kCCSuccess) - 即使解密失敗,因為在那之后我的 NSData 沒有被填充.在 iOS5 上,我收到了我可以處理的錯誤消息 -4303.有什么想法現在有什么問題嗎?

                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 上對其進行了測試.當我使用另一個密鑰進行解密時,我收到的狀態是 -4303.僅在 ios6 中返回的狀態為 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.

                推薦答案

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

                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.

                我所做的只是確定哪個 iOS 正在運行,對于 6+,我將 CCCrypt 調用更改為無填充(0 表示無填充,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;
                }
                

                這篇關于iOS5和iOS6的CCCrypt區別的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

                相關文檔推薦

                How to animate a UIImageview to display fullscreen by tapping on it?(如何通過點擊動畫 UIImageview 以顯示全屏?)
                To stop segue and show alert(停止 segue 并顯示警報)
                iOS 5 storyboard, programmatically determine path(iOS 5 故事板,以編程方式確定路徑)
                Icon already includes gloss effects(圖標已經包含光澤效果)
                How does UIEdgeInsetsMake work?(UIEdgeInsetsMake 是如何工作的?)
                UIProgressView and Custom Track and Progress Images (iOS 5 properties)(UIProgressView 和自定義跟蹤和進度圖像(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="vnuwnay" 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. 主站蜘蛛池模板: 佛山市德信昌电子有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 齿式联轴器-弹性联轴器-联轴器厂家-江苏诺兴传动联轴器制造有限公司 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 电主轴,车床电磨头,变频制动电机-博山鸿达特种电机 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 聚合甘油__盐城市飞龙油脂有限公司| 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 广西教师资格网-广西教师资格证考试网 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 中国品牌门窗网_中国十大门窗品牌_著名门窗品牌 | 高铝轻质保温砖_刚玉莫来石砖厂家_轻质耐火砖价格 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 |