2015-06-01 95 views
-6

我想將我的xor函數轉換爲PHP。可以做到嗎?它需要爲它單曲目前正在努力工作...將C++函數轉換爲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; 
} 
+0

你能澄清到底發生了什麼功能嗎? – Ben

+0

XOR函數中會發生什麼? -_-我正在加密我的文件中的文本... – Patratel

+0

我不知道XOR函數是什麼,我不熟悉C++。你能否解釋到底發生了什麼,以便我們能夠理解如何在PHP中複製它? – Ben

回答

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

+0

現在這就是我正在談論的!是啊!非常感謝你,只有一個問題,這不關鍵,如果我使用字符如:「£!$£^£$&%&right? – Patratel

+0

是否要使用這些字符作爲鍵?如果他們不是ascii字符,你必須確保你的源被保存爲UTF-8,但它應該工作。 –

+0

我將測試,看看再次感謝您! – Patratel

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; } 

我希望沒事。

+0

謝謝你我會測試! – Patratel

+0

This returns = 0. – Patratel

+0

Vezi ca nu ai declarat $ i :) – Patratel