У меня есть код в ObjCне может найти свою ошибку, гаммирование
-(IBAction)click:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://localhost:8888/second.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *data=[self transform:@"qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm" Key:@"0800fc577294c34e0b28ad2839435945"];
NSData *requestBody = [[NSString stringWithFormat:@"p=%@",data] dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:requestBody];
NSURLResponse *response = NULL;
NSError *requestError = NULL;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError];
NSString *responseString = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];
UIAlertView *alert=[[[UIAlertView alloc] initWithTitle:@"Message" message:responseString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease];
[alert show];
NSLog(@"log=%@",responseString);
}
- (NSString*) transform:(NSString*)input Key:(NSString*)key
{
NSMutableString* output = [[NSMutableString alloc] init];
unsigned int vlen = [input length];
unsigned int klen = [key length];
unsigned int v = 0;
unsigned int k = 0;
for (v=0; v < vlen; v++) {
unichar c = [input characterAtIndex:v]^[key characterAtIndex:k];
[output appendString:[NSString stringWithFormat:@"%C", c]];
k = (++k < klen ? k : 0);
}
NSString* final = [[[NSString alloc] initWithString:output] autorelease];
[output release];
return final;
}
и дешифровать в PHP
$res="";
$key="0800fc577294c34e0b28ad2839435945";
$k=0;
if ($_POST['p']){
$vlen = strlen($_POST['p']);
$klen = strlen($key);
$v = 0;
$k = 0;
for ($v=0; $v < $vlen; $v++) {
$c = $_POST['p'][$v]^$key[$k];
$res=$res.$c;
$k = (++$k < $klen ? $k : 0);
}
echo $res;
}
, но когда я проверить это результат
qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcv > d = 1 "+ dssstcn | e ~ dn1; 9? nve, e9; upgrade ('% & 5nqfyelfdnfll $ + f'6icr & oh #' (s4> vas6; aclkl |} brg86tp4 # xz! ! 2" ро б; 6njk> '~ hpbnktvaw "!" Р> mp0gj9lkj` ~ 3 | i6 =
однако я отправить сообщение
qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm
пожалуйста, помогите мне найти мою ошибку.
нашел мою проблему, она была здесь $ k = (++ $ k <$ klen? $ K: 0); Я переписываю его на простой, если не трехмерный. – SergeyM