iOS TLV解析、ASCII排序、RSA SHA256加簽

最近新集成了微信、支付寶、銀聯(lián)的二維碼主掃和被掃收款,總結(jié)一下用到的知識(shí)點(diǎn):

1.TLV 57域解析 ?:

源碼參考 :鏈接 密碼:uox7

原文:https://blog.csdn.net/linux_zkf/article/details/17078325


2.數(shù)組ASCII排序:

為了安全起見(jiàn),傳給后臺(tái)的參數(shù)需要加簽驗(yàn)簽,同時(shí)約定了加簽時(shí)傳輸參數(shù)的順序,采用ASCII排序:

? ? NSArray* keyArray = [params allKeys];//遍歷出來(lái)所有的key值

? ? NSStringCompareOptions comparisonOptions=NSCaseInsensitiveSearch|NSNumericSearch|

? ? NSWidthInsensitiveSearch|NSForcedOrderingSearch;

? ? NSComparatorsort = ^(NSString*obj1,NSString*obj2){

? ? ? ? NSRangerange =NSMakeRange(0,obj1.length);

? ? ? ? return[obj1compare:obj2options:comparisonOptionsrange:range]; };

//resultArray即重新排序好的數(shù)組

? ? NSArray *resultArray = [keyArraysortedArrayUsingComparator:sort];


3.RSA加簽:

因?yàn)橐郧白鲰?xiàng)目用過(guò)RSA加密,所以覺(jué)得這里應(yīng)該很簡(jiǎn)單,事實(shí)證明我有點(diǎn)先入為主了,首先加簽和加密就完全不是一個(gè)概念,其次之前的私鑰是明文寫(xiě)在代碼里的,這次的需求是后臺(tái)給定一個(gè)pfx格式的文件自行讀取私鑰進(jìn)行加簽,最后需要注意的是加簽的方式,我們項(xiàng)目采用的是SHA256,這里主要參考了http://www.itdecent.cn/p/67aeca97f25d,解決了我的大問(wèn)題,感謝。

源碼參考 :鏈接 密碼:enaf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,203評(píng)論 8 265
  • 之前的項(xiàng)目中接觸過(guò)一些加密的方法,也沒(méi)有太仔細(xì)的進(jìn)行記錄和研究。最近在寫(xiě)SDK時(shí),加密模塊的占比相當(dāng)之大;借此時(shí)機(jī)...
    過(guò)半_e764閱讀 696評(píng)論 0 0
  • 生活不可能像你想象得那么好,但也不會(huì)像你想象得那么糟。我覺(jué)得人的脆弱和堅(jiān)強(qiáng)都超乎自己的想象。有時(shí),我可能脆弱得一句...
    是Ava啊閱讀 732評(píng)論 1 1
  • 最近和幾個(gè)朋友聊天,說(shuō)起了工作的困惑與掙扎,小結(jié)一下。 關(guān)于工作和幸福感 為什么中國(guó)人比起歐美人,甚至亞洲其它國(guó)家...
    lulu_w閱讀 171評(píng)論 0 0

友情鏈接更多精彩內(nèi)容