From 0938cba3c3ca291d34f866e86e1765652877a278 Mon Sep 17 00:00:00 2001 From: terrafrost Date: Mon, 16 Jun 2014 09:19:14 -0500 Subject: [PATCH] RC4: speedups --- phpseclib/Crypt/RC4.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/phpseclib/Crypt/RC4.php b/phpseclib/Crypt/RC4.php index cacedce2..48807350 100644 --- a/phpseclib/Crypt/RC4.php +++ b/phpseclib/Crypt/RC4.php @@ -267,10 +267,7 @@ class Crypt_RC4 extends Crypt_Base { $key = $this->key; $keyLength = strlen($key); - $keyStream = array(); - for ($i = 0; $i < 256; $i++) { - $keyStream[$i] = $i; - } + $keyStream = range(0, 255); $j = 0; for ($i = 0; $i < 256; $i++) { $j = ($j + $keyStream[$i] + ord($key[$i % $keyLength])) & 255; @@ -324,7 +321,7 @@ class Crypt_RC4 extends Crypt_Base $keyStream[$i] = $ksj; $keyStream[$j] = $ksi; - $text[$k] = chr(ord($text[$k]) ^ $keyStream[($ksj + $ksi) & 255]); + $text[$k] = $text[$k] ^ chr($keyStream[($ksj + $ksi) & 255]); } return $text;