Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
Objective c 如何通过stringByAppendingFormat传递加密的NSString?_Objective C_Encryption - Fatal编程技术网

Objective c 如何通过stringByAppendingFormat传递加密的NSString?

Objective c 如何通过stringByAppendingFormat传递加密的NSString?,objective-c,encryption,Objective C,Encryption,我创建了一个as.net web api来接收用户凭据以进行身份验证。在我的iOS应用程序中,我将用户名和密码发送到url。我只想加密密码 如何发送加密密码,然后在asp.net中解密 我的代码: NSString *username = Username.text; NSString *password = Password.text; NSData *dataToEnc = [Password.text dataUsingEncoding:NSUTF8StringEncoding]; NS

我创建了一个as.net web api来接收用户凭据以进行身份验证。在我的iOS应用程序中,我将用户名和密码发送到url。我只想加密密码

如何发送加密密码,然后在asp.net中解密

我的代码:

NSString *username = Username.text;
NSString *password = Password.text;

NSData *dataToEnc = [Password.text dataUsingEncoding:NSUTF8StringEncoding];
NSData *encryptedData = [dataToEnc AES256EncryptWithKey:password];

NSURL *urlFormat = [NSURL URLWithString:[API_LOGIN stringByAppendingFormat:@"%@/%@",username, encryptedData]];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:urlFormat cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
NSData *returnData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil];
NSString *responseString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

这不起作用。

通常您会在http请求中对二进制数据进行base64编码

NSString *encoded = [encryptedData base64EncodedStringWithOptions: NSDataBase64Encoding64CharacterLineLength];

非常感谢。它现在正在通过URL。我将尝试在我的Web API C代码中解码它,并让它知道它是否有效。你能更新编码字符串在没有斜杠的情况下返回的代码吗?你认为在这种情况下使用BASE32更好吗?或者看看这个:或者考虑不要在URL中包含Base64编码的数据,请注意,如果你不知道自己在做什么,发送一个加密的密码本身就很容易变得“脆弱”,安全性也很高。是的,我知道。不过还好。非常感谢。