class PHPExcel_Reader_Excel5_RC4 in Loft Data Grids 7.2
Same name and namespace in other branches
- 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
- class \PHPExcel_Reader_Excel5_RC4
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
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PHPExcel_Reader_Excel5_RC4:: |
property | |||
PHPExcel_Reader_Excel5_RC4:: |
property | |||
PHPExcel_Reader_Excel5_RC4:: |
property | |||
PHPExcel_Reader_Excel5_RC4:: |
public | function | * Symmetric decryption/encryption function * * | |
PHPExcel_Reader_Excel5_RC4:: |
public | function | * RC4 stream decryption/encryption constrcutor * * |