鍍金池/ 問答/C  iOS/ IOS請進,這段IOS代碼能給解釋一下作用么?需要用JS寫一個類似的,看著有點懵

IOS請進,這段IOS代碼能給解釋一下作用么?需要用JS寫一個類似的,看著有點懵逼

+ (NSString *)getSignWithParameters:(NSDictionary *)parameters
                              appId:(NSString *)appId
                             appKey:(NSString *)appKey
                                url:(NSString *)url
                          timestamp:(NSString *)timestamp
{
    NSError *error;
    parameters =  parameters?parameters:@{};
    
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error];
    NSString *signString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    
    [signString stringByReplacingOccurrencesOfString:@" " withString:@""];
    [signString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    [signString stringByReplacingOccurrencesOfString:@"\t" withString:@""];
    [signString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
    
    
    NSString *allStr = STR_FORMAT(@"%@%@%@%@%@", url, signString, appId, appKey, timestamp);
    
    
    return [HERequestHelper getSHA256String:allStr];
}

要寫一個ajax請求 請求header里面有個參數(shù)需要進行加密 請問這段什么意思

回答
編輯回答
巫婆

加密接口數(shù)據(jù)生成驗簽的規(guī)則吧? zhiwei解釋的很到位了

2017年3月11日 04:58
編輯回答
何蘇葉

將網(wǎng)上請求下來的JSON參數(shù)parameters轉(zhuǎn)換成字符串的形式,并將其的換行空格等轉(zhuǎn)義字符統(tǒng)統(tǒng)替換成空格;然后將傳給該方法的參數(shù)按照(url(鏈接), signString(上面轉(zhuǎn)換好的parameters字符串), appId(App的ID), appKey, timestamp(按名字應(yīng)該是時間戳))的順序直接拼接在一起。

2017年4月13日 14:15
編輯回答
玄鳥

我不是ios開發(fā),憑感覺的,希望對你有幫助

+ (NSString *)getSignWithParameters:(NSDictionary *)parameters
                              appId:(NSString *)appId
                             appKey:(NSString *)appKey
                                url:(NSString *)url
                          timestamp:(NSString *)timestamp
{
    NSError *error;
    parameters =  parameters?parameters:@{};
    // parameter是 to json
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error];
    //json  utf8 編碼
    NSString *signString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    
    // 干掉空格
    [signString stringByReplacingOccurrencesOfString:@" " withString:@""];
    // 干掉換行符
    [signString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    [signString stringByReplacingOccurrencesOfString:@"\t" withString:@""];
    [signString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
    
    //這個,可能是合并成一個字符串
    NSString *allStr = STR_FORMAT(@"%@%@%@%@%@", url, signString, appId, appKey, timestamp);
    
    //這里加密
    return [HERequestHelper getSHA256String:allStr];
}
2018年2月7日 02:37