繁体   English   中英

Obj-C中的AES加密和PHP中的解密

[英]AES Encrypting in Obj-C and decrypt in PHP

我对此很陌生。 我的PHP回声返回垃圾。 我认为我缺少一个编码步骤。

我的OBJ-C代码

NSString *key = @"12345678901234561234567890123456";

    //main path for account login PHP file
    NSString *accountURL = [NSString stringWithFormat:configManager.accountURL, username, password];

    //convert password to data and encrypt
    NSData *crypt = [[[password stringValue]dataUsingEncoding:NSUTF8StringEncoding]AES256EncryptWithKey:key];

    NSString *variables = [NSString stringWithFormat:@"?username=%@&access=%@&page=%ld",[username stringValue], crypt, [sender tag]];

    // get rid of spaces in encoded URL
    NSString *niceURLString = [variables stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    //tack niceURL on to end of base URL
    NSString *goToURL = [accountURL stringByAppendingString:niceURLString];
    NSLog(@"%@", goToURL);

    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:goToURL]];

的PHP

$upswd = $_GET['access'];
    $key = "12345678901234561234567890123456";
$upswd = trim($upswd, "<>"); //remove these brackets from url

$result = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $upswd, 'ecb');
//$result = utf8_decode($result);
echo ($result);
        mcrypt_create_iv(
            mcrypt_get_iv_size(
                MCRYPT_RIJNDAEL_256,
                MCRYPT_MODE_ECB
            )

您要创建一个新的IV,您需要使用原始的IV。 它通常与由分隔符分隔的加密文本一起传递,常用的分隔符是。 或| 然后,您需要PHP在定界符处分割加密的字符串,将IV用于解密功能,并将另一部分用作加密数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM