iOS下單簽名串之字典通過key值進行降序排列

2021-07-30 17:58:16 字數 1486 閱讀 1472

ios下單簽名串之字典通過key值進行降序排列

1.下單的時候,用於簽名的原始串是乙個引數的集合,有時候需要我們進行排序。假如用於簽名的字段有,name,age,***,三個字段。我們可以在下單介面中先定義乙個字典,將資料傳進來即可。

//我們用於排序的字段

nsdictionary *dict = [nsdictionary dictionarywithobjectsandkeys:@」danny」,@」name」,@」12」,@」age」,@」man」,@」***」,nil];

2.邏輯:通過取出字典的所有key值,利用sortedarrayusingcomparator進行排序,通過排序後的key值取value,從而達到排序的目的。

3.上**。。。

nsdictionary *dict = [nsdictionary dictionarywithobjectsandkeys:@」danny」,@」name」,@」12」,@」age」,@」man」,@」***」,nil];

nsarray *allkeyarray = [dict allkeys];

nsarray *aftersortkeyarray = [allkeyarray sortedarrayusingcomparator:^nscomparisonresult(id _nonnull obj1, id _nonnull obj2) ];

nslog(@」aftersortkeyarray:%@」,aftersortkeyarray);

//通過排列的key值獲取value
nsmutablearray *valuearray = [nsmutablearray array];

for (nsstring *sortsing in aftersortkeyarray)

nslog(@」valuearray:%@」,valuearray);

3.列印log資訊:

log:

aftersortkeyarray:(

***,

name,

age

) valuearray:(

man,

danny,

12 )

4.接下來我們就可以進行我們簽名引數的排列了,生成signstring後可以進行md5加密。

nsmutablearray *signarray = [nsmutablearray array];

for (int i = 0 ; i < aftersortkeyarray.count; i++)

//signstring用於簽名的原始引數集合

nsstring *signstring = [signarray componentsjoinedbystring:@」&」];

nslog(@」signstring:%@」,signstring);

列印log:

signstring:***=man&name=danny&age=12

ios字典存bool iOS 開發之字典寫入檔案

在最近的開發中阿,遇到乙個問題,是我開始沒有注意到的問題,某個羨慕後期維護的過程中發現乙個bug,這個bug就是關於字典寫入檔案的。緣由是這樣的,我用字典寫入檔案的方法 bool result resultdic writetofile citylistdatapath atomically yes...

iOS逆向之安裝簽名工具ldid

1.安裝brew,並安裝ldid usr bin ruby e curl fssl brew install ldid 2.修改使用者的環境配置 vim bash profile 這個只是其中的一種方法 export theos theos export path theos bin path so...

iOS學習筆記之字典排序

有時候拼接引數會用到字典傳過來的引數而且是要排序的,下面我們看看應該怎麼去做!nsdictionary params 這個引數字典中一共有4個key name hometown userid phone。我們該怎麼樣把這四個字串按公升序排列呢?首先我們定義乙個陣列,儲存字典中的所有key值 nsar...