封裝數(shù)據(jù)加密的AFNetWorking網(wǎng)絡(luò)請(qǐng)求

新的項(xiàng)目里有數(shù)據(jù)信息加密的需求瞎暑,這樣以往的那樣生成param字典直接丟進(jìn)AFNet進(jìn)行請(qǐng)求的方法就不能使用了献烦,對(duì)這個(gè)需求我在網(wǎng)上查閱了一些資料滓窍,都是大概的說了要將param轉(zhuǎn)成jsonString然后對(duì)jsonString進(jìn)行加密,最后轉(zhuǎn)成data丟進(jìn)請(qǐng)求體里提交服務(wù)器巩那。思路大體上是這么個(gè)思路吏夯。
以我的項(xiàng)目里用到的AES加密為例,第一步就是設(shè)置POST的請(qǐng)求

//檢查地址中是否有中文
    NSString *urlStr=[NSURL URLWithString:URLString]?URLString:[self strUTF8Encoding:URLString];
    NSMutableURLRequest *request =[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlStr]];
    [request setHTTPMethod:@"POST"];
//然后在整理設(shè)置param

然后就是將設(shè)置好的param轉(zhuǎn)成jsonString即横,因?yàn)轫?xiàng)目里用到李明杰老師的MJExtension噪生,所以直接就用了這個(gè)庫(kù)的轉(zhuǎn)換方法了,沒有用這個(gè)庫(kù)自己手寫代碼轉(zhuǎn)換也很簡(jiǎn)單

NSString * tmpStr=[param mj_JSONString];

獲取到這個(gè)tmpStr之后就是對(duì)這個(gè)sting做加密操作了东囚,我用的是AES加密跺嗽,自己寫了一個(gè)加密的工具類,外置了-(NSString *) aci_encryptWithAES;方法页藻,返回出去的就是加密后的string桨嫁,這里因?yàn)榧用芩惴ú煌梢宰约鹤远x

//這里就是對(duì)加密方法返回出去的加密string做data轉(zhuǎn)換操作
NSData * data=[str dataUsingEncoding:NSUTF8StringEncoding];

到上一步就獲得了一個(gè)包含加密數(shù)據(jù)的data了

接下來就是對(duì)第一步里的請(qǐng)求做一個(gè)設(shè)置了

// 此處設(shè)置請(qǐng)求體 (即將參數(shù)加密后的字符串,轉(zhuǎn)為data)一般是參數(shù)字典轉(zhuǎn)json字符串,再將json字符串加密,最后將加密后的字符串轉(zhuǎn)為data 設(shè)置為請(qǐng)求體
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    // 設(shè)置body
    [request setHTTPBody:data];    

這樣把設(shè)置好的request丟進(jìn)AFN里做請(qǐng)求就可以了

    AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
//這里根據(jù)后臺(tái)的配置來配置
    AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer];
    responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",
                                                 @"text/html",
                                                 @"text/json",
                                                 @"text/javascript",
                                                 @"text/plain",
                                                 nil];
    manager.responseSerializer = responseSerializer;
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    manager.requestSerializer.timeoutInterval=15;//設(shè)置超時(shí)時(shí)間
    //開始網(wǎng)絡(luò)請(qǐng)求
    [[manager dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
            //解密
     }] resume];

這樣一個(gè)數(shù)據(jù)加密的AFN請(qǐng)求就做完了

=======================
補(bǔ)充個(gè)AES加密工具類

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末份帐,一起剝皮案震驚了整個(gè)濱河市瞧甩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弥鹦,老刑警劉巖肚逸,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異彬坏,居然都是意外死亡朦促,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門栓始,熙熙樓的掌柜王于貴愁眉苦臉地迎上來务冕,“玉大人,你說我怎么就攤上這事幻赚≠饕洌” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵落恼,是天一觀的道長(zhǎng)箩退。 經(jīng)常有香客問我,道長(zhǎng)佳谦,這世上最難降的妖魔是什么戴涝? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上啥刻,老公的妹妹穿的比我還像新娘奸鸯。我一直安慰自己,他們只是感情好可帽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布娄涩。 她就那樣靜靜地躺著,像睡著了一般映跟。 火紅的嫁衣襯著肌膚如雪蓄拣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天申窘,我揣著相機(jī)與錄音弯蚜,去河邊找鬼孔轴。 笑死剃法,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的路鹰。 我是一名探鬼主播贷洲,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼晋柱!你這毒婦竟也來了优构?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤雁竞,失蹤者是張志新(化名)和其女友劉穎钦椭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碑诉,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡彪腔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了进栽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片德挣。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖快毛,靈堂內(nèi)的尸體忽然破棺而出格嗅,到底是詐尸還是另有隱情,我是刑警寧澤唠帝,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布屯掖,位于F島的核電站,受9級(jí)特大地震影響襟衰,放射性物質(zhì)發(fā)生泄漏懂扼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望阀湿。 院中可真熱鬧赶熟,春花似錦、人聲如沸陷嘴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)灾挨。三九已至邑退,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劳澄,已是汗流浹背地技。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秒拔,地道東北人莫矗。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像砂缩,于是被迫代替她去往敵國(guó)和親作谚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理庵芭,服務(wù)發(fā)現(xiàn)妹懒,斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評(píng)論 25 707
  • AFN什么是AFN全稱是AFNetworking双吆,是對(duì)NSURLConnection眨唬、NSURLSession的一...
    醉葉惜秋閱讀 1,182評(píng)論 0 0
  • 知彼解己。大多數(shù)都會(huì)理解這知彼解意 而我也不用把這意思寫出來 我就分享我以前工作的一個(gè)事情吧 以前呢我...
    王莊123閱讀 180評(píng)論 0 1
  • 在生活中,我們經(jīng)常在微信的朋友圈里面遇到好多很好的文章曹宴,然后我們打開搂橙,關(guān)注,閱讀笛坦,隨后我們把它保存在收藏里面区转。希望...
    上海尋家教閱讀 502評(píng)論 2 6