如何循环密钥只要 $text 这是我的代码:
function _xor($text,$key){
for($i=0; $i<strlen($text); $i++){
$text[$i] = intval($text[$i])^intval($key[$i]);
}
return $text;
}
上述代码的结果不会像$key
length那样重复$text
。我想和re-XORed一样多重复怎么办$key
?$text
如何循环密钥只要 $text 这是我的代码:
function _xor($text,$key){
for($i=0; $i<strlen($text); $i++){
$text[$i] = intval($text[$i])^intval($key[$i]);
}
return $text;
}
上述代码的结果不会像$key
length那样重复$text
。我想和re-XORed一样多重复怎么办$key
?$text
您必须使用模运算符才能仅使用 $key 字符串的 [0 .. strlen($key)-1] 索引。如果你把$i % strlen($key)
你的值从零到 strlen($key) - 1 in loop
function _xor($text,$key){
for($i=0; $i<strlen($text); $i++){
$text[$i] = intval($text[$i])^intval($key[$i % strlen($key)]);
}
return $text;
}
PS:关于模运算符的信息:http ://en.wikipedia.org/wiki/Modulo_operation