Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 响应加密问题_Iphone_Objective C - Fatal编程技术网

Iphone 响应加密问题

Iphone 响应加密问题,iphone,objective-c,Iphone,Objective C,我得到的答复如下: TIMESTAMP=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success &VERSION=65%2e0&BUILD=2133933&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M &TRANSACTIONID=6PT23270XK626941N" in this enc

我得到的答复如下:

TIMESTAMP=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success
&VERSION=65%2e0&BUILD=2133933&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M
&TRANSACTIONID=6PT23270XK626941N" in this encrypted format
如何获取原始文本字符串?这是我解析URL的代码:

NSString *parameterString = [[NSString stringWithFormat:@"USER=mercha_1316582882_biz_api1.ifuturz.com"
                              "&PWD=1316582974"
                              "&SIGNATURE=Az-qrCDOk-pVcMVvJLOJY7DrGESBAgSH4RGOILESJSsYaBlWVZ3mNfJB"
                              "&METHOD=DoDirectPayment"
                              "&CREDITCARDTYPE=Visa"
                              "&ACCT=%@"
                              "&EXPDATE=092016 "
                              "&CVV2=111"
                              "&AMT=%@"
                              "&FIRSTNAME=%@"
                              "&LASTNAME=%@"
                              "&STREET=%@"
                              "&CITY=%@"
                              "&STATE=%@"
                              "&ZIP=%@"
                              "&COUNTRYCODE=IN"
                              "&CURRENCYCODE=USD"
                              "&PAYMENTACTION=Sale"
                              "&VERSION=65.0",
                              txtCreditCardNo.text,
                              strAmount,
                              txtName.text,
                              txtName.text,
                              txtAddress.text,
                              txtCity.text,
                              txtState.text,
                              txtZipCode.text
                              ] retain];

NSLog(@"Soap : %@",parameterString);

NSURL *url = [NSURL URLWithString:@"https://api-3t.sandbox.paypal.com/nvp"];

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]]; 
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]];


NSError *err;
NSURLResponse *resp;
NSData *response = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&resp error:&err];

if (resp != nil) {



    NSString *stringResponse = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];

    NSLog(@"---------------------- %@",stringResponse);

    SBJSON *jsonParser = [SBJSON new];
    NSMutableDictionary *json = [[NSMutableDictionary alloc] init];
    json = [jsonParser objectWithString:stringResponse error:NULL];
    NSLog(@"\n \n JSN Dic : %@",[json description]);

} else if (err != nil) {

    NSLog(@"\n \n Nill");

}

它不是加密的,它是URL编码的,即用十六进制值替换麻烦的字符。例如:'%2d'是'-'

NSString *stringToDecode = @"TIMESTAMP=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65%2e0&BUILD=2133933&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N";

NSString *decodedString = [stringToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@"decodedString: %@", decodedString);
NSLog输出:

decodedString: TIMESTAMP=2011-09-22T10:20:24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65.0&BUILD=2133933&AMT=0.12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N

它不是加密的,它是URL编码的,即用十六进制值替换麻烦的字符。例如:'%2d'是'-'

NSString *stringToDecode = @"TIMESTAMP=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65%2e0&BUILD=2133933&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N";

NSString *decodedString = [stringToDecode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@"decodedString: %@", decodedString);
NSLog输出:

decodedString: TIMESTAMP=2011-09-22T10:20:24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65.0&BUILD=2133933&AMT=0.12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N

你能更准确地解释一下你想做什么吗?我得到的回答是:时间戳=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65%2e0&BUILD=21339333&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N“我想要这种回应:TIMESTAMP=2011-09-22:10:20:3 24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65.0&BUILD=213393933&AMT=0.12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6pt23270x626941N“意味着如何删除“%2”等字符。您能解释一下您想更准确地执行什么操作吗?我得到的回答是:时间戳=2011%2d09%2d22T10%3a20%3a24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65%2e0&BUILD=2133939333&AMT=0%2e12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6pt23270x626941n“我想要这种响应:TIMESTAMP=2011-09-22:10:20:3 24Z&CORRELATIONID=fa0181684fd81&ACK=Success&VERSION=65.0&BUILD=213393933&AMT=0.12&CURRENCYCODE=USD&AVSCODE=X&CVV2MATCH=M&TRANSACTIONID=6PT23270XK626941N”意味着我如何删除像“%2”这样的字符。。。