将c ++函数转换为PHP?

时间:2015-06-01 08:22:13

标签: php c++

我想将我的xor函数转换为PHP。可以吗?它需要像现在一样工作......

string encryptDecrypt(string toEncrypt) {
    char key[9] = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    string output = toEncrypt;
    for (int i = 0; i < toEncrypt.size(); i++)
        output[i] = toEncrypt[i] ^ key[i % (sizeof(key) / sizeof(char))];

    return output;
}

2 个答案:

答案 0 :(得分:0)

您可以在PHP中使用与C ++函数几乎相同的语法:

function encryptDecrypt($toEncrypt)
{
    $key= array( '1', '2', '3', '4', '5', '6', '7', '8', '9' );
    $key_len = count($key);
    $output = $toEncrypt;
    for ($i = 0; $i < strlen($toEncrypt); $i++)
    {
       $output[$i] = $toEncrypt[$i] ^ $key[$i % $key_len];
    }

    return $output;
}

C ++函数的在线演示:https://ideone.com/g9cpHJ

PHP函数的在线演示:https://ideone.com/3prgd0

答案 1 :(得分:0)

在PHP中,它是这样的:

function encryptDecrypt($toEncrypt){
    $key = array( '1', '2', '3', '4', '5', '6', '7', '8', '9' );
    $output = $toEncrypt;
    for ($i = 0; $i < strlen($toEncrypt); $i++)
        $output = pow( $toEncrypt[$i], $key[$i % count($key)]; );

    return $output; }

我希望没事。