@@ 250-261 (lines=12) @@ | ||
247 | * @param string |
|
248 | * @return string |
|
249 | */ |
|
250 | protected function _xor_decode($string, $key) |
|
251 | { |
|
252 | $string = $this->_xor_merge($string, $key); |
|
253 | ||
254 | $dec = ''; |
|
255 | for ($i = 0, $l = strlen($string); $i < $l; $i++) |
|
256 | { |
|
257 | $dec .= ($string[$i++] ^ $string[$i]); |
|
258 | } |
|
259 | ||
260 | return $dec; |
|
261 | } |
|
262 | ||
263 | // -------------------------------------------------------------------- |
|
264 | ||
@@ 274-284 (lines=11) @@ | ||
271 | * @param string |
|
272 | * @return string |
|
273 | */ |
|
274 | protected function _xor_merge($string, $key) |
|
275 | { |
|
276 | $hash = $this->hash($key); |
|
277 | $str = ''; |
|
278 | for ($i = 0, $ls = strlen($string), $lh = strlen($hash); $i < $ls; $i++) |
|
279 | { |
|
280 | $str .= $string[$i] ^ $hash[($i % $lh)]; |
|
281 | } |
|
282 | ||
283 | return $str; |
|
284 | } |
|
285 | ||
286 | // -------------------------------------------------------------------- |
|
287 |