将PHP FOR循环转换为Python FOR LOOP转换为XOR 2字符串

我正在使用这个php循环来做2个不同长度字符串$ text和$ key的基本xor,它工作得很好,我需要在Python中执行相同的xor来解扰字符串,我正在努力转换此FOR循环进入Python FOR循环,有人可以提供帮助吗?

    for($i=0; $i<strlen($text); )
    {
        for($j=0; ($j<strlen($key) && $i<strlen($text)); $j++,$i++)
        {
            $outText .= $text{$i} ^ $key{$j};
        }
    }
评论
  • nfugit
    nfugit 回复

    在这种情况下,我会用..

    i = 0
    j = 0
    out = ""
    while i < len(text):
     if j == len(key): 
       j=0
     out += chr(ord(text[i])^ord(key[j]))
     i+=1
     j+=1
    

    或者使用foreach,您可以使代码更短一些。字符串中的Foreach遍历其中的每个字符。

    j = 0
    out = ""
    foreach letter in text:
     if j == len(key): j = 0
     out += chr(ord(letter)^ord(key[j]))
     j += 1