如何在php脚本中解码NSData?
我在base64中对主体进行了编码,但我只能将其作为NSData传递,PHP将只对字符串进行解密。如何在php中解密NSData Swift代码如何在php脚本中解码NSData?,php,ios,swift,base64,Php,Ios,Swift,Base64,我在base64中对主体进行了编码,但我只能将其作为NSData传递,PHP将只对字符串进行解密。如何在php中解密NSData Swift代码 request.HTTPMethod = "POST" let encode = bodyData.dataUsingEncoding(NSUTF8StringEncoding)!; let crypt = encode.base64EncodedDataWithOptions(NSDataBase64EncodingOptions(r
request.HTTPMethod = "POST"
let encode = bodyData.dataUsingEncoding(NSUTF8StringEncoding)!;
let crypt = encode.base64EncodedDataWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
request.HTTPBody = crypt
PHP代码
$postVarUser = base64_decode($_POST["usernamedata"]);
$postVarPass = base64_decode($_POST["passworddata"]);
echo $_POST["usernamedata"];//prints nil
echo $_POST["passworddata"];//prints nil
NSData
只是一堆字节。如果将HTTPBody设置为该值,则在解码之前,不能在PHP端使用$\u POST
将其视为键/值
我不知道PHP,但通过谷歌搜索,你似乎想要
$HTTP\u RAW\u POST\u DATA
,试试:base64\u decode($HTTP\u RAW\u POST\u DATA)代码>NSData
只是一堆字节。如果将HTTPBody设置为该值,则在解码之前,不能在PHP端使用$\u POST
将其视为键/值
我不知道PHP,但通过谷歌搜索,你似乎想要$HTTP\u RAW\u POST\u DATA
,试试:base64\u decode($HTTP\u RAW\u POST\u DATA)代码>当您接收字节时,应该使用php://input
,就像这样:
// Get data from POST
$dataEnc = file_get_contents('php://input');
// Decode data
$dataDec = base64_decode($dataEnc);
// Get username
$username = $dataDec["usernamedata"];
echo($username);
如果对象在编码之前已正确构造,则此操作应有效。当您接收字节时,应使用php://input
,就像这样:
// Get data from POST
$dataEnc = file_get_contents('php://input');
// Decode data
$dataDec = base64_decode($dataEnc);
// Get username
$username = $dataDec["usernamedata"];
echo($username);
如果对象在编码之前已正确构造,则此操作应该有效。我对php脚本进行了更改,但在ios端是否正确?我在php脚本上做了更改,但在ios端这是否正确?