找不到太多关于这个错误的文档……我想可能是因为iOS的RNCryptor...the RNCryptor版本与我的服务器端RNCryptor-php版本冲突有关……我想。
以下是该错误的所有输出:
[Wed Dec 17 16:56:00 2014] [error] [client 192.168.1.3] PHP Fatal error: Uncaught exception 'Exception' with message 'Unsupported schema version 211' in /Library/WebServer/Documents/lib/RNCryptor/Cryptor.php:70\nStack trace:\n#0 /Library/WebServer/Documents/lib/RNCryptor/Decryptor.php(66): RNCryptor\\Cryptor->_configureSettings(211)\n#1 /Library/WebServer/Documents/lib/RNCryptor/Decryptor.php(49): RNCryptor\\Decryptor->_parseHeaders('\\xD3}5\\xEBN\\xFB\\xD1\\xDD\\xBA\\xF5\\xD6\\xF6s\\xB7:...')\n#2 /Library/WebServer/Documents/lib/RNCryptor/Decryptor.php(22): RNCryptor\\Decryptor->_unpackEncryptedBase64Data('<03016077 0d269...')\n#3 /Library/WebServer/Documents/accessy/index.php(120): RNCryptor\\Decryptor->decrypt('<03016077 0d269...', 'AwEOM//0tNskVvC...')\n#4 /Library/WebServer/Documents/accessy/index.php(189): Auth->auth('AwEOM//0tNskVvC...', false)\n#5 {main}\n thrown in /Library/WebServer/Documents/lib/RNCryptor/Cryptor.php on line 70
我希望有人能看看这个,然后告诉我出了什么问题。我在iOS端尝试了v2.0和v2.1,看起来只有一个RNCryptor版本-php…我想我可以试试v1.0/等,但我猜这些版本天生就不太安全,因为它们太老了。有谁有什么想法吗?
这是我的iOS加密代码,由于某些原因,RNCryptor-php似乎无法处理它:
NSData *what1 = [emailcurrent dataUsingEncoding:NSUTF8StringEncoding];
NSError *errory5;
NSData *useremaily = [RNEncryptor encryptData:what1 withSettings:kRNCryptorAES256Settings password:@"xxxxx" error:&errory5];`实际上我仍然不确定一件事,到目前为止我已经尝试了几种不同的things...but…我将useremaily与请求一起发送(而不是将其转换为字符串或任何东西)作为POST数据…我认为这是正确的。
然后我以我认为应该使用的方式使用NSURLConnection,连接发生并执行,但我总是在PHP错误日志中得到上面的错误。
任何想法都将不胜感激。
发布于 2014-12-18 06:20:19
哇-所以我花了过去的几个days...all直到我决定在我的问题中包含NSURLConnection代码。它是这样的:
NSString *post = [NSString stringWithFormat:@"email=%@", useremaily];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://192.168.1.10/accessy/index.php"]]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
self.connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];`我认为把一切都搞乱的那句话是:
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
我将其更改为:
NSData *postData = [[NSData alloc] initWithBase64EncodedString:post options:0];
它实际上仍然不工作,我希望它,这解决了这个错误,以防任何人有这个问题,特别是to...but。对于我正在处理的now...but,可能需要问另一个问题,我猜如果你想对这个过程进行一般性的评论(从iOS到RNCryptor) --这可能仍然是有帮助的。谢谢。
https://stackoverflow.com/questions/27535748
复制相似问题