对基于 iOS 到 post 到 PHP 的服务器使用 RNCryptor 感到困惑

confusion on using RNCryptor for iOS to post to PHP-based server

基于此link:https://github.com/RNCryptor/RNCryptor

我了解到这是加密 NSData 的基本方法

NSData *data = [@"Data" dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data
                                    withSettings:kRNCryptorAES256Settings
                                        password:aPassword
                                           error:&error];

这是我的代码 POST 请求基于 PHP 的服务器。

NSString *parameter = [NSString stringWithFormat:@"userid=%@&password=%@",useridStr, passwordStr];
NSData *parameterData = [parameter dataUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString: @"http://mywebiste.com/server.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPBody:parameterData];

[request setHTTPMethod:@"POST"];
[request addValue: @"application/x-www-form-urlencoded; charset=utf-8"  forHTTPHeaderField:@"Content-Type"];
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];

并且在 PHP 服务器中:

 <?php
    $userid = $_POST['userid'];
    $password = $_POST['password'];

    ...

 ?>

我的问题是

如果整个参数

我将如何在 PHP 服务器中接收数据
NSString *parameter = [NSString stringWithFormat:
                         @"userid=%@&password=%@",useridStr, passwordStr];

已加密??

有没有办法只加密 NSString,并像这样将它们附加到参数?

NSString *parameter = [NSString stringWithFormat:  
                         @"userid=%@&password=%@",ENCRYPTED_USRID, ENCRYPTED_PWD];

如果你加密了整个 POST 字符串 PHP 将不知道如何将数据解析到 $_POST 超全局数组中。您可能必须从原始输入流 php://input 获取原始请求,解密它,然后自己解析它。

为了简单起见,仅加密用户 ID 和密码 的第二种方法更可取,因为您发布的 PHP 代码将按原样工作.

虽然我不会说 ObjC 代码,但我并不流利。

您是否考虑过只使用 SSL 来加密连接,这样您就不必费心在应用程序中自己实施加密?