You are here

class PHPExcel_Reader_Excel5_RC4 in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php \PHPExcel_Reader_Excel5_RC4

PHPExcel_Reader_Excel5_RC4

@category PHPExcel @package PHPExcel_Reader_Excel5 @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)

Hierarchy

Expanded class hierarchy of PHPExcel_Reader_Excel5_RC4

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php, line 35

View source
class PHPExcel_Reader_Excel5_RC4 {

  // Context
  var $s = array();
  var $i = 0;
  var $j = 0;

  /**
   * RC4 stream decryption/encryption constrcutor
   *
   * @param string $key Encryption key/passphrase
   */
  public function __construct($key) {
    $len = strlen($key);
    for ($this->i = 0; $this->i < 256; $this->i++) {
      $this->s[$this->i] = $this->i;
    }
    $this->j = 0;
    for ($this->i = 0; $this->i < 256; $this->i++) {
      $this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256;
      $t = $this->s[$this->i];
      $this->s[$this->i] = $this->s[$this->j];
      $this->s[$this->j] = $t;
    }
    $this->i = $this->j = 0;
  }

  /**
   * Symmetric decryption/encryption function
   *
   * @param string $data Data to encrypt/decrypt
   *
   * @return string
   */
  public function RC4($data) {
    $len = strlen($data);
    for ($c = 0; $c < $len; $c++) {
      $this->i = ($this->i + 1) % 256;
      $this->j = ($this->j + $this->s[$this->i]) % 256;
      $t = $this->s[$this->i];
      $this->s[$this->i] = $this->s[$this->j];
      $this->s[$this->j] = $t;
      $t = ($this->s[$this->i] + $this->s[$this->j]) % 256;
      $data[$c] = chr(ord($data[$c]) ^ $this->s[$t]);
    }
    return $data;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPExcel_Reader_Excel5_RC4::$i property
PHPExcel_Reader_Excel5_RC4::$j property
PHPExcel_Reader_Excel5_RC4::$s property
PHPExcel_Reader_Excel5_RC4::RC4 public function * Symmetric decryption/encryption function * *
PHPExcel_Reader_Excel5_RC4::__construct public function * RC4 stream decryption/encryption constrcutor * *