use short array syntax for arrays

This commit is contained in:
terrafrost 2016-11-30 15:19:23 -06:00
parent 7182ec393b
commit c852bae3c8
24 changed files with 570 additions and 570 deletions

View File

@ -84,7 +84,7 @@ class Blowfish extends BlockCipher
* @access private
* @var array
*/
var $sbox0 = array(
var $sbox0 = [
0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
@ -117,7 +117,7 @@ class Blowfish extends BlockCipher
0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a
);
];
/**
* S-Box 1
@ -125,7 +125,7 @@ class Blowfish extends BlockCipher
* @access private
* @var array
*/
var $sbox1 = array(
var $sbox1 = [
0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
@ -158,7 +158,7 @@ class Blowfish extends BlockCipher
0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7
);
];
/**
* S-Box 2
@ -166,7 +166,7 @@ class Blowfish extends BlockCipher
* @access private
* @var array
*/
var $sbox2 = array(
var $sbox2 = [
0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
@ -199,7 +199,7 @@ class Blowfish extends BlockCipher
0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0
);
];
/**
* S-Box 3
@ -207,7 +207,7 @@ class Blowfish extends BlockCipher
* @access private
* @var array
*/
var $sbox3 = array(
var $sbox3 = [
0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
@ -240,7 +240,7 @@ class Blowfish extends BlockCipher
0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6
);
];
/**
* P-Array consists of 18 32-bit subkeys
@ -248,11 +248,11 @@ class Blowfish extends BlockCipher
* @var array
* @access private
*/
var $parray = array(
var $parray = [
0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0,
0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b
);
];
/**
* The BCTX-working Array
@ -355,18 +355,18 @@ class Blowfish extends BlockCipher
// already expanded
return;
}
$this->kl = array('key' => $this->key);
$this->kl = ['key' => $this->key];
/* key-expanding p[] and S-Box building sb[] */
$this->bctx = array(
'p' => array(),
'sb' => array(
$this->bctx = [
'p' => [],
'sb' => [
$this->sbox0,
$this->sbox1,
$this->sbox2,
$this->sbox3
)
);
]
];
// unpack binary string in unsigned chars
$key = array_values(unpack('C*', $this->key));
@ -506,7 +506,7 @@ class Blowfish extends BlockCipher
';
break;
default:
$p = array();
$p = [];
for ($i = 0; $i < 18; ++$i) {
$p[] = '$p_' . $i;
}
@ -576,13 +576,13 @@ class Blowfish extends BlockCipher
';
$lambda_functions[$code_hash] = $this->_createInlineCryptFunction(
array(
[
'init_crypt' => $init_crypt,
'init_encrypt' => '',
'init_decrypt' => '',
'encrypt_block' => $encrypt_block,
'decrypt_block' => $decrypt_block
)
]
);
}
$this->inline_crypt = $lambda_functions[$code_hash];

View File

@ -1806,11 +1806,11 @@ abstract class SymmetricKey
{
$this->engine = null;
$candidateEngines = array(
$candidateEngines = [
$this->preferredEngine,
self::ENGINE_OPENSSL,
self::ENGINE_MCRYPT
);
];
foreach ($candidateEngines as $engine) {
if ($this->isValidEngine($engine)) {
$this->engine = $engine;
@ -1935,14 +1935,14 @@ abstract class SymmetricKey
$this->enchanged = $this->dechanged = true;
if (!isset($this->enmcrypt)) {
static $mcrypt_modes = array(
static $mcrypt_modes = [
self::MODE_CTR => 'ctr',
self::MODE_ECB => MCRYPT_MODE_ECB,
self::MODE_CBC => MCRYPT_MODE_CBC,
self::MODE_CFB => 'ncfb',
self::MODE_OFB => MCRYPT_MODE_NOFB,
self::MODE_STREAM => MCRYPT_MODE_STREAM,
);
];
$this->demcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], '');
$this->enmcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], '');
@ -2033,9 +2033,9 @@ abstract class SymmetricKey
*/
function _clearBuffers()
{
$this->enbuffer = $this->debuffer = array('ciphertext' => '', 'xor' => '', 'pos' => 0, 'enmcrypt_init' => true);
$this->enbuffer = $this->debuffer = ['ciphertext' => '', 'xor' => '', 'pos' => 0, 'enmcrypt_init' => true];
if ($this->iv === false && !in_array($this->mode, array(self::MODE_STREAM, self::MODE_ECB))) {
if ($this->iv === false && !in_array($this->mode, [self::MODE_STREAM, self::MODE_ECB])) {
throw new \UnexpectedValueException('No IV has been defined');
}
@ -2262,13 +2262,13 @@ abstract class SymmetricKey
*
* Structure of:
* <code>
* $cipher_code = array(
* $cipher_code = [
* 'init_crypt' => (string) '', // optional
* 'init_encrypt' => (string) '', // optional
* 'init_decrypt' => (string) '', // optional
* 'encrypt_block' => (string) '', // required
* 'decrypt_block' => (string) '' // required
* );
* ];
* </code>
*
* @see self::_setupInlineCrypt()
@ -2647,7 +2647,7 @@ abstract class SymmetricKey
*/
function &_getLambdaFunctions()
{
static $functions = array();
static $functions = [];
return $functions;
}

View File

@ -102,13 +102,13 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $openssl_mode_names = array(
var $openssl_mode_names = [
self::MODE_ECB => 'des-ecb',
self::MODE_CBC => 'des-cbc',
self::MODE_CFB => 'des-cfb',
self::MODE_OFB => 'des-ofb'
// self::MODE_CTR is undefined for DES
);
];
/**
* Optimizing value while CFB-encrypting
@ -161,7 +161,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $shuffle = array(
var $shuffle = [
"\x00\x00\x00\x00\x00\x00\x00\x00", "\x00\x00\x00\x00\x00\x00\x00\xFF",
"\x00\x00\x00\x00\x00\x00\xFF\x00", "\x00\x00\x00\x00\x00\x00\xFF\xFF",
"\x00\x00\x00\x00\x00\xFF\x00\x00", "\x00\x00\x00\x00\x00\xFF\x00\xFF",
@ -290,7 +290,7 @@ class DES extends BlockCipher
"\xFF\xFF\xFF\xFF\xFF\x00\xFF\x00", "\xFF\xFF\xFF\xFF\xFF\x00\xFF\xFF",
"\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00", "\xFF\xFF\xFF\xFF\xFF\xFF\x00\xFF",
"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00", "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
);
];
/**
* IP mapping helper table.
@ -300,7 +300,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $ipmap = array(
var $ipmap = [
0x00, 0x10, 0x01, 0x11, 0x20, 0x30, 0x21, 0x31,
0x02, 0x12, 0x03, 0x13, 0x22, 0x32, 0x23, 0x33,
0x40, 0x50, 0x41, 0x51, 0x60, 0x70, 0x61, 0x71,
@ -333,7 +333,7 @@ class DES extends BlockCipher
0x8E, 0x9E, 0x8F, 0x9F, 0xAE, 0xBE, 0xAF, 0xBF,
0xCC, 0xDC, 0xCD, 0xDD, 0xEC, 0xFC, 0xED, 0xFD,
0xCE, 0xDE, 0xCF, 0xDF, 0xEE, 0xFE, 0xEF, 0xFF
);
];
/**
* Inverse IP mapping helper table.
@ -342,7 +342,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $invipmap = array(
var $invipmap = [
0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0,
0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0,
0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8,
@ -375,7 +375,7 @@ class DES extends BlockCipher
0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7,
0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF,
0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF
);
];
/**
* Pre-permuted S-box1
@ -386,7 +386,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox1 = array(
var $sbox1 = [
0x00808200, 0x00000000, 0x00008000, 0x00808202,
0x00808002, 0x00008202, 0x00000002, 0x00008000,
0x00000200, 0x00808200, 0x00808202, 0x00000200,
@ -403,7 +403,7 @@ class DES extends BlockCipher
0x00800002, 0x00000202, 0x00008202, 0x00808200,
0x00000202, 0x00800200, 0x00800200, 0x00000000,
0x00008002, 0x00008200, 0x00000000, 0x00808002
);
];
/**
* Pre-permuted S-box2
@ -411,7 +411,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox2 = array(
var $sbox2 = [
0x40084010, 0x40004000, 0x00004000, 0x00084010,
0x00080000, 0x00000010, 0x40080010, 0x40004010,
0x40000010, 0x40084010, 0x40084000, 0x40000000,
@ -428,7 +428,7 @@ class DES extends BlockCipher
0x00080010, 0x40004010, 0x40000010, 0x00080010,
0x00084000, 0x00000000, 0x40004000, 0x00004010,
0x40000000, 0x40080010, 0x40084010, 0x00084000
);
];
/**
* Pre-permuted S-box3
@ -436,7 +436,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox3 = array(
var $sbox3 = [
0x00000104, 0x04010100, 0x00000000, 0x04010004,
0x04000100, 0x00000000, 0x00010104, 0x04000100,
0x00010004, 0x04000004, 0x04000004, 0x00010000,
@ -453,7 +453,7 @@ class DES extends BlockCipher
0x00000004, 0x00010104, 0x00010100, 0x04000004,
0x04010000, 0x04000104, 0x00000104, 0x04010000,
0x00010104, 0x00000004, 0x04010004, 0x00010100
);
];
/**
* Pre-permuted S-box4
@ -461,7 +461,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox4 = array(
var $sbox4 = [
0x80401000, 0x80001040, 0x80001040, 0x00000040,
0x00401040, 0x80400040, 0x80400000, 0x80001000,
0x00000000, 0x00401000, 0x00401000, 0x80401040,
@ -478,7 +478,7 @@ class DES extends BlockCipher
0x80400000, 0x80001000, 0x00401040, 0x80400040,
0x80001000, 0x00001040, 0x00400000, 0x80401000,
0x00000040, 0x00400000, 0x00001000, 0x00401040
);
];
/**
* Pre-permuted S-box5
@ -486,7 +486,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox5 = array(
var $sbox5 = [
0x00000080, 0x01040080, 0x01040000, 0x21000080,
0x00040000, 0x00000080, 0x20000000, 0x01040000,
0x20040080, 0x00040000, 0x01000080, 0x20040080,
@ -503,7 +503,7 @@ class DES extends BlockCipher
0x01040000, 0x00000000, 0x20040000, 0x21000000,
0x00040080, 0x01000080, 0x20000080, 0x00040000,
0x00000000, 0x20040000, 0x01040080, 0x20000080
);
];
/**
* Pre-permuted S-box6
@ -511,7 +511,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox6 = array(
var $sbox6 = [
0x10000008, 0x10200000, 0x00002000, 0x10202008,
0x10200000, 0x00000008, 0x10202008, 0x00200000,
0x10002000, 0x00202008, 0x00200000, 0x10000008,
@ -528,7 +528,7 @@ class DES extends BlockCipher
0x00000008, 0x00002000, 0x10200000, 0x00202008,
0x00002000, 0x00200008, 0x10002008, 0x00000000,
0x10202000, 0x10000000, 0x00200008, 0x10002008
);
];
/**
* Pre-permuted S-box7
@ -536,7 +536,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox7 = array(
var $sbox7 = [
0x00100000, 0x02100001, 0x02000401, 0x00000000,
0x00000400, 0x02000401, 0x00100401, 0x02100400,
0x02100401, 0x00100000, 0x00000000, 0x02000001,
@ -553,7 +553,7 @@ class DES extends BlockCipher
0x00100400, 0x00000000, 0x00000001, 0x02100401,
0x00000000, 0x00100401, 0x02100000, 0x00000400,
0x02000001, 0x02000400, 0x00000400, 0x00100001
);
];
/**
* Pre-permuted S-box8
@ -561,7 +561,7 @@ class DES extends BlockCipher
* @var array
* @access private
*/
var $sbox8 = array(
var $sbox8 = [
0x08000820, 0x00000800, 0x00020000, 0x08020820,
0x08000000, 0x08000820, 0x00000020, 0x08000000,
0x00020020, 0x08020000, 0x08020820, 0x00020800,
@ -578,7 +578,7 @@ class DES extends BlockCipher
0x08020000, 0x08000800, 0x08000820, 0x00000000,
0x08020820, 0x00020800, 0x00020800, 0x00000820,
0x00000820, 0x00020020, 0x08000000, 0x08020800
);
];
/**
* Default Constructor.
@ -707,7 +707,7 @@ class DES extends BlockCipher
// Do the initial IP permutation.
$t = unpack('Nl/Nr', $block);
list($l, $r) = array($t['l'], $t['r']);
list($l, $r) = [$t['l'], $t['r']];
$block = ($shuffleip[ $r & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") |
($shuffleip[($r >> 8) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") |
($shuffleip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") |
@ -719,7 +719,7 @@ class DES extends BlockCipher
// Extract L0 and R0.
$t = unpack('Nl/Nr', $block);
list($l, $r) = array($t['l'], $t['r']);
list($l, $r) = [$t['l'], $t['r']];
for ($des_round = 0; $des_round < $this->des_rounds; ++$des_round) {
// Perform the 16 steps.
@ -770,13 +770,13 @@ class DES extends BlockCipher
// already expanded
return;
}
$this->kl = array('key' => $this->key, 'des_rounds' => $this->des_rounds);
$this->kl = ['key' => $this->key, 'des_rounds' => $this->des_rounds];
static $shifts = array( // number of key bits shifted per round
static $shifts = [ // number of key bits shifted per round
1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1
);
];
static $pc1map = array(
static $pc1map = [
0x00, 0x00, 0x08, 0x08, 0x04, 0x04, 0x0C, 0x0C,
0x02, 0x02, 0x0A, 0x0A, 0x06, 0x06, 0x0E, 0x0E,
0x10, 0x10, 0x18, 0x18, 0x14, 0x14, 0x1C, 0x1C,
@ -809,16 +809,16 @@ class DES extends BlockCipher
0xE2, 0xE2, 0xEA, 0xEA, 0xE6, 0xE6, 0xEE, 0xEE,
0xF0, 0xF0, 0xF8, 0xF8, 0xF4, 0xF4, 0xFC, 0xFC,
0xF2, 0xF2, 0xFA, 0xFA, 0xF6, 0xF6, 0xFE, 0xFE
);
];
// Mapping tables for the PC-2 transformation.
static $pc2mapc1 = array(
static $pc2mapc1 = [
0x00000000, 0x00000400, 0x00200000, 0x00200400,
0x00000001, 0x00000401, 0x00200001, 0x00200401,
0x02000000, 0x02000400, 0x02200000, 0x02200400,
0x02000001, 0x02000401, 0x02200001, 0x02200401
);
static $pc2mapc2 = array(
];
static $pc2mapc2 = [
0x00000000, 0x00000800, 0x08000000, 0x08000800,
0x00010000, 0x00010800, 0x08010000, 0x08010800,
0x00000000, 0x00000800, 0x08000000, 0x08000800,
@ -883,8 +883,8 @@ class DES extends BlockCipher
0x01050110, 0x01050910, 0x09050110, 0x09050910,
0x01040110, 0x01040910, 0x09040110, 0x09040910,
0x01050110, 0x01050910, 0x09050110, 0x09050910
);
static $pc2mapc3 = array(
];
static $pc2mapc3 = [
0x00000000, 0x00000004, 0x00001000, 0x00001004,
0x00000000, 0x00000004, 0x00001000, 0x00001004,
0x10000000, 0x10000004, 0x10001000, 0x10001004,
@ -949,8 +949,8 @@ class DES extends BlockCipher
0x20080022, 0x20080026, 0x20081022, 0x20081026,
0x30080022, 0x30080026, 0x30081022, 0x30081026,
0x30080022, 0x30080026, 0x30081022, 0x30081026
);
static $pc2mapc4 = array(
];
static $pc2mapc4 = [
0x00000000, 0x00100000, 0x00000008, 0x00100008,
0x00000200, 0x00100200, 0x00000208, 0x00100208,
0x00000000, 0x00100000, 0x00000008, 0x00100008,
@ -1015,14 +1015,14 @@ class DES extends BlockCipher
0x04022200, 0x04122200, 0x04022208, 0x04122208,
0x04022000, 0x04122000, 0x04022008, 0x04122008,
0x04022200, 0x04122200, 0x04022208, 0x04122208
);
static $pc2mapd1 = array(
];
static $pc2mapd1 = [
0x00000000, 0x00000001, 0x08000000, 0x08000001,
0x00200000, 0x00200001, 0x08200000, 0x08200001,
0x00000002, 0x00000003, 0x08000002, 0x08000003,
0x00200002, 0x00200003, 0x08200002, 0x08200003
);
static $pc2mapd2 = array(
];
static $pc2mapd2 = [
0x00000000, 0x00100000, 0x00000800, 0x00100800,
0x00000000, 0x00100000, 0x00000800, 0x00100800,
0x04000000, 0x04100000, 0x04000800, 0x04100800,
@ -1087,8 +1087,8 @@ class DES extends BlockCipher
0x00020204, 0x00120204, 0x00020A04, 0x00120A04,
0x04020204, 0x04120204, 0x04020A04, 0x04120A04,
0x04020204, 0x04120204, 0x04020A04, 0x04120A04
);
static $pc2mapd3 = array(
];
static $pc2mapd3 = [
0x00000000, 0x00010000, 0x02000000, 0x02010000,
0x00000020, 0x00010020, 0x02000020, 0x02010020,
0x00040000, 0x00050000, 0x02040000, 0x02050000,
@ -1153,8 +1153,8 @@ class DES extends BlockCipher
0x20002030, 0x20012030, 0x22002030, 0x22012030,
0x20042010, 0x20052010, 0x22042010, 0x22052010,
0x20042030, 0x20052030, 0x22042030, 0x22052030
);
static $pc2mapd4 = array(
];
static $pc2mapd4 = [
0x00000000, 0x00000400, 0x01000000, 0x01000400,
0x00000000, 0x00000400, 0x01000000, 0x01000400,
0x00000100, 0x00000500, 0x01000100, 0x01000500,
@ -1219,16 +1219,16 @@ class DES extends BlockCipher
0x10081008, 0x10081408, 0x11081008, 0x11081408,
0x10081108, 0x10081508, 0x11081108, 0x11081508,
0x10081108, 0x10081508, 0x11081108, 0x11081508
);
];
$keys = array();
$keys = [];
for ($des_round = 0; $des_round < $this->des_rounds; ++$des_round) {
// pad the key and remove extra characters as appropriate.
$key = str_pad(substr($this->key, $des_round * 8, 8), 8, "\0");
// Perform the PC/1 transformation and compute C and D.
$t = unpack('Nl/Nr', $key);
list($l, $r) = array($t['l'], $t['r']);
list($l, $r) = [$t['l'], $t['r']];
$key = ($this->shuffle[$pc1map[ $r & 0xFF]] & "\x80\x80\x80\x80\x80\x80\x80\x00") |
($this->shuffle[$pc1map[($r >> 8) & 0xFF]] & "\x40\x40\x40\x40\x40\x40\x40\x00") |
($this->shuffle[$pc1map[($r >> 16) & 0xFF]] & "\x20\x20\x20\x20\x20\x20\x20\x00") |
@ -1241,10 +1241,10 @@ class DES extends BlockCipher
$c = ( $key['c'] >> 4) & 0x0FFFFFFF;
$d = (($key['d'] >> 4) & 0x0FFFFFF0) | ($key['c'] & 0x0F);
$keys[$des_round] = array(
self::ENCRYPT => array(),
$keys[$des_round] = [
self::ENCRYPT => [],
self::DECRYPT => array_fill(0, 32, 0)
);
];
for ($i = 0, $ki = 31; $i < 16; ++$i, $ki-= 2) {
$c <<= $shifts[$i];
$c = ($c | ($c >> 28)) & 0x0FFFFFFF;
@ -1271,7 +1271,7 @@ class DES extends BlockCipher
switch ($this->des_rounds) {
case 3: // 3DES keys
$this->keys = array(
$this->keys = [
self::ENCRYPT => array_merge(
$keys[0][self::ENCRYPT],
$keys[1][self::DECRYPT],
@ -1282,14 +1282,14 @@ class DES extends BlockCipher
$keys[1][self::ENCRYPT],
$keys[0][self::DECRYPT]
)
);
];
break;
// case 1: // DES keys
default:
$this->keys = array(
$this->keys = [
self::ENCRYPT => $keys[0][self::ENCRYPT],
self::DECRYPT => $keys[0][self::DECRYPT]
);
];
}
}
@ -1351,20 +1351,20 @@ class DES extends BlockCipher
// In Hi-optimized code mode, we use our [3]DES key schedule as hardcoded integers.
// No futher initialisation of the $keys schedule is necessary.
// That is the extra performance boost.
$k = array(
$k = [
self::ENCRYPT => $this->keys[self::ENCRYPT],
self::DECRYPT => $this->keys[self::DECRYPT]
);
];
$init_encrypt = '';
$init_decrypt = '';
break;
default:
// In generic optimized code mode, we have to use, as the best compromise [currently],
// our key schedule as $ke/$kd arrays. (with hardcoded indexes...)
$k = array(
self::ENCRYPT => array(),
self::DECRYPT => array()
);
$k = [
self::ENCRYPT => [],
self::DECRYPT => []
];
for ($i = 0, $c = count($this->keys[self::ENCRYPT]); $i < $c; ++$i) {
$k[self::ENCRYPT][$i] = '$ke[' . $i . ']';
$k[self::DECRYPT][$i] = '$kd[' . $i . ']';
@ -1375,8 +1375,8 @@ class DES extends BlockCipher
}
// Creating code for en- and decryption.
$crypt_block = array();
foreach (array(self::ENCRYPT, self::DECRYPT) as $c) {
$crypt_block = [];
foreach ([self::ENCRYPT, self::DECRYPT] as $c) {
/* Do the initial IP permutation. */
$crypt_block[$c] = '
$in = unpack("N*", $in);
@ -1419,9 +1419,9 @@ class DES extends BlockCipher
// end of "the Feistel (F) function"
// swap L & R
list($l, $r) = array($r, $l);
list($l, $r) = [$r, $l];
}
list($l, $r) = array($r, $l);
list($l, $r) = [$r, $l];
}
// Perform the inverse IP permutation.
@ -1439,13 +1439,13 @@ class DES extends BlockCipher
// Creates the inline-crypt function
$lambda_functions[$code_hash] = $this->_createInlineCryptFunction(
array(
[
'init_crypt' => $init_crypt,
'init_encrypt' => $init_encrypt,
'init_decrypt' => $init_decrypt,
'encrypt_block' => $crypt_block[self::ENCRYPT],
'decrypt_block' => $crypt_block[self::DECRYPT]
)
]
);
}

View File

@ -223,14 +223,14 @@ class Hash
if ($hash == 'sha512/224' || $hash == 'sha512/256') {
// from http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf#page=24
$this->initial = $hash == 'sha512/256' ?
array(
[
'22312194FC2BF72C', '9F555FA3C84C64C2', '2393B86B6F53B151', '963877195940EABD',
'96283EE2A88EFFE3', 'BE5E1E2553863992', '2B0199FC2C85B8AA', '0EB72DDC81C52CA2'
) :
array(
] :
[
'8C3D37C819544DA2', '73E1996689DCD4D6', '1DFAB7AE32FF9C82', '679DD514582F9FCF',
'0F6D2B697BD44DA8', '77E36F7304C48942', '3F9D85A86A1D36C8', '1112E6AD91D692A1'
);
];
for ($i = 0; $i < 8; $i++) {
$this->initial[$i] = new BigInteger($this->initial[$i], 16);
$this->initial[$i]->setPrecision(64);
@ -337,7 +337,7 @@ class Hash
if (!isset($k)) {
// Initialize table of round constants
// (first 64 bits of the fractional parts of the cube roots of the first 80 primes 2..409)
$k = array(
$k = [
'428a2f98d728ae22', '7137449123ef65cd', 'b5c0fbcfec4d3b2f', 'e9b5dba58189dbbc',
'3956c25bf348b538', '59f111f1b605d019', '923f82a4af194f9b', 'ab1c5ed5da6d8118',
'd807aa98a3030242', '12835b0145706fbe', '243185be4ee4b28c', '550c7dc3d5ffb4e2',
@ -358,7 +358,7 @@ class Hash
'06f067aa72176fba', '0a637dc5a2c898a6', '113f9804bef90dae', '1b710b35131c471b',
'28db77f523047d84', '32caab7b40c72493', '3c9ebe0a15c9bebc', '431d67c49c100d4c',
'4cc5d4becb3e42b6', '597f299cfc657e2a', '5fcb6fab3ad6faec', '6c44198c4a475817'
);
];
for ($i = 0; $i < 80; $i++) {
$k[$i] = new BigInteger($k[$i], 16);
@ -376,7 +376,7 @@ class Hash
// Process the message in successive 1024-bit chunks
$chunks = str_split($m, 128);
foreach ($chunks as $chunk) {
$w = array();
$w = [];
for ($i = 0; $i < 16; $i++) {
$temp = new BigInteger(Strings::shift($chunk, 8), 256);
$temp->setPrecision(64);
@ -385,18 +385,18 @@ class Hash
// Extend the sixteen 32-bit words into eighty 32-bit words
for ($i = 16; $i < 80; $i++) {
$temp = array(
$temp = [
$w[$i - 15]->bitwise_rightRotate(1),
$w[$i - 15]->bitwise_rightRotate(8),
$w[$i - 15]->bitwise_rightShift(7)
);
];
$s0 = $temp[0]->bitwise_xor($temp[1]);
$s0 = $s0->bitwise_xor($temp[2]);
$temp = array(
$temp = [
$w[$i - 2]->bitwise_rightRotate(19),
$w[$i - 2]->bitwise_rightRotate(61),
$w[$i - 2]->bitwise_rightShift(6)
);
];
$s1 = $temp[0]->bitwise_xor($temp[1]);
$s1 = $s1->bitwise_xor($temp[2]);
$w[$i] = clone $w[$i - 16];
@ -417,33 +417,33 @@ class Hash
// Main loop
for ($i = 0; $i < 80; $i++) {
$temp = array(
$temp = [
$a->bitwise_rightRotate(28),
$a->bitwise_rightRotate(34),
$a->bitwise_rightRotate(39)
);
];
$s0 = $temp[0]->bitwise_xor($temp[1]);
$s0 = $s0->bitwise_xor($temp[2]);
$temp = array(
$temp = [
$a->bitwise_and($b),
$a->bitwise_and($c),
$b->bitwise_and($c)
);
];
$maj = $temp[0]->bitwise_xor($temp[1]);
$maj = $maj->bitwise_xor($temp[2]);
$t2 = $s0->add($maj);
$temp = array(
$temp = [
$e->bitwise_rightRotate(14),
$e->bitwise_rightRotate(18),
$e->bitwise_rightRotate(41)
);
];
$s1 = $temp[0]->bitwise_xor($temp[1]);
$s1 = $s1->bitwise_xor($temp[2]);
$temp = array(
$temp = [
$e->bitwise_and($f),
$g->bitwise_and($e->bitwise_not())
);
];
$ch = $temp[0]->bitwise_xor($temp[1]);
$t1 = $h->add($s1);
$t1 = $t1->add($ch);
@ -461,7 +461,7 @@ class Hash
}
// Add this chunk's hash to result so far
$hash = array(
$hash = [
$hash[0]->add($a),
$hash[1]->add($b),
$hash[2]->add($c),
@ -470,7 +470,7 @@ class Hash
$hash[5]->add($f),
$hash[6]->add($g),
$hash[7]->add($h)
);
];
}
// Produce the final hash value (big-endian)

View File

@ -152,7 +152,7 @@ class RC2 extends BlockCipher
* @var array
* @access private
*/
var $pitable = array(
var $pitable = [
0xD9, 0x78, 0xF9, 0xC4, 0x19, 0xDD, 0xB5, 0xED,
0x28, 0xE9, 0xFD, 0x79, 0x4A, 0xA0, 0xD8, 0x9D,
0xC6, 0x7E, 0x37, 0x83, 0x2B, 0x76, 0x53, 0x8E,
@ -217,7 +217,7 @@ class RC2 extends BlockCipher
0xBB, 0x48, 0x0C, 0x5F, 0xB9, 0xB1, 0xCD, 0x2E,
0xC5, 0xF3, 0xDB, 0x47, 0xE5, 0xA5, 0x9C, 0x77,
0x0A, 0xA6, 0x20, 0x68, 0xFE, 0x7F, 0xC1, 0xAD
);
];
/**
* Inverse key expansion randomization table.
@ -226,7 +226,7 @@ class RC2 extends BlockCipher
* @var array
* @access private
*/
var $invpitable = array(
var $invpitable = [
0xD1, 0xDA, 0xB9, 0x6F, 0x9C, 0xC8, 0x78, 0x66,
0x80, 0x2C, 0xF8, 0x37, 0xEA, 0xE0, 0x62, 0xA4,
0xCB, 0x71, 0x50, 0x27, 0x4B, 0x95, 0xD9, 0x20,
@ -259,7 +259,7 @@ class RC2 extends BlockCipher
0x81, 0x09, 0x82, 0x33, 0x9F, 0x07, 0x86, 0x75,
0x38, 0x4E, 0x69, 0xF1, 0xAD, 0x23, 0x73, 0x87,
0x70, 0x02, 0xC2, 0x1E, 0xB8, 0x0A, 0xFC, 0xE6
);
];
/**
* Default Constructor.
@ -458,7 +458,7 @@ class RC2 extends BlockCipher
list($r0, $r1, $r2, $r3) = array_values(unpack('v*', $in));
$keys = $this->keys;
$limit = 20;
$actions = array($limit => 44, 44 => 64);
$actions = [$limit => 44, 44 => 64];
$j = 0;
for (;;) {
@ -503,7 +503,7 @@ class RC2 extends BlockCipher
list($r0, $r1, $r2, $r3) = array_values(unpack('v*', $in));
$keys = $this->keys;
$limit = 44;
$actions = array($limit => 20, 20 => 0);
$actions = [$limit => 20, 20 => 0];
$j = 64;
for (;;) {
@ -602,7 +602,7 @@ class RC2 extends BlockCipher
case $gen_hi_opt_code:
$keys = $this->keys;
default:
$keys = array();
$keys = [];
foreach ($this->keys as $k => $v) {
$keys[$k] = '$keys[' . $k . ']';
}
@ -619,7 +619,7 @@ class RC2 extends BlockCipher
// Create code for encryption.
$limit = 20;
$actions = array($limit => 44, 44 => 64);
$actions = [$limit => 44, 44 => 64];
$j = 0;
for (;;) {
@ -657,7 +657,7 @@ class RC2 extends BlockCipher
// Create code for decryption.
$limit = 44;
$actions = array($limit => 20, 20 => 0);
$actions = [$limit => 20, 20 => 0];
$j = 64;
for (;;) {
@ -695,11 +695,11 @@ class RC2 extends BlockCipher
// Creates the inline-crypt function
$lambda_functions[$code_hash] = $this->_createInlineCryptFunction(
array(
[
'init_crypt' => $init_crypt,
'encrypt_block' => $encrypt_block,
'decrypt_block' => $decrypt_block
)
]
);
}

View File

@ -292,12 +292,12 @@ class RC4 extends StreamCipher
$keyStream[$j] = $temp;
}
$this->stream = array();
$this->stream[self::DECRYPT] = $this->stream[self::ENCRYPT] = array(
$this->stream = [];
$this->stream[self::DECRYPT] = $this->stream[self::ENCRYPT] = [
0, // index $i
0, // index $j
$keyStream
);
];
}
/**

View File

@ -363,7 +363,7 @@ class RSA
self::$configFile = __DIR__ . '/../openssl.cnf';
if (self::$fileFormats === false) {
self::$fileFormats = array();
self::$fileFormats = [];
foreach (glob(__DIR__ . '/RSA/*.php') as $file) {
$name = pathinfo($file, PATHINFO_FILENAME);
$type = 'phpseclib\Crypt\RSA\\' . $name;
@ -474,11 +474,11 @@ class RSA
// OpenSSL uses 65537 as the exponent and requires RSA keys be 384 bits minimum
if (self::$engine == self::ENGINE_OPENSSL && $bits >= 384 && self::$defaultExponent == 65537) {
$config = array();
$config = [];
if (isset(self::$configFile)) {
$config['config'] = self::$configFile;
}
$rsa = openssl_pkey_new(array('private_key_bits' => $bits) + $config);
$rsa = openssl_pkey_new(['private_key_bits' => $bits] + $config);
openssl_pkey_export($rsa, $privatekeystr, null, $config);
$privatekey = new RSA();
$privatekey->load($privatekeystr);
@ -491,11 +491,11 @@ class RSA
while (openssl_error_string() !== false) {
}
return array(
return [
'privatekey' => $privatekey,
'publickey' => $publickey,
'partialkey' => false
);
];
}
static $e;
@ -512,11 +512,11 @@ class RSA
}
$n = clone self::$one;
$exponents = $coefficients = $primes = array();
$lcm = array(
$exponents = $coefficients = $primes = [];
$lcm = [
'top' => clone self::$one,
'bottom' => false
);
];
do {
for ($i = 1; $i <= $num_primes; $i++) {
@ -588,10 +588,10 @@ class RSA
$publickey->k = $bits >> 3;
$publickey->exponent = $e;
return array(
return [
'privatekey' => $privatekey,
'publickey' => $publickey
);
];
}
/**
@ -667,9 +667,9 @@ class RSA
$this->publicExponent = clone $key->publicExponent;
}
$this->primes = array();
$this->exponents = array();
$this->coefficients = array();
$this->primes = [];
$this->exponents = [];
$this->coefficients = [];
foreach ($this->primes as $prime) {
$this->primes[] = clone $prime;
@ -720,9 +720,9 @@ class RSA
$this->coefficients = $components['coefficients'];
$this->publicExponent = $components['publicExponent'];
} else {
$this->primes = array();
$this->exponents = array();
$this->coefficients = array();
$this->primes = [];
$this->exponents = [];
$this->coefficients = [];
$this->publicExponent = false;
}
@ -1244,10 +1244,10 @@ class RSA
$num_primes = count($this->primes);
if (defined('CRYPT_RSA_DISABLE_BLINDING')) {
$m_i = array(
$m_i = [
1 => $x->modPow($this->exponents[1], $this->primes[1]),
2 => $x->modPow($this->exponents[2], $this->primes[2])
);
];
$h = $m_i[1]->subtract($m_i[2]);
$h = $h->multiply($this->coefficients[2]);
list(, $h) = $h->divide($this->primes[1]);
@ -1275,10 +1275,10 @@ class RSA
$r = BigInteger::randomRange(self::$one, $smallest->subtract(self::$one));
$m_i = array(
$m_i = [
1 => $this->_blind($x, $r, 1),
2 => $this->_blind($x, $r, 2)
);
];
$h = $m_i[1]->subtract($m_i[2]);
$h = $h->multiply($this->coefficients[2]);
list(, $h) = $h->divide($this->primes[1]);

View File

@ -100,7 +100,7 @@ class MSBLOB
return false;
}
$components = array('isPublicKey' => $publickey);
$components = ['isPublicKey' => $publickey];
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa375549(v=vs.85).aspx
switch ($algo) {
@ -140,15 +140,15 @@ class MSBLOB
$components['isPublicKey'] = false;
// BYTE prime1[rsapubkey.bitlen/16]
$components['primes'] = array(1 => new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256));
$components['primes'] = [1 => new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256)];
// BYTE prime2[rsapubkey.bitlen/16]
$components['primes'][] = new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256);
// BYTE exponent1[rsapubkey.bitlen/16]
$components['exponents'] = array(1 => new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256));
$components['exponents'] = [1 => new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256)];
// BYTE exponent2[rsapubkey.bitlen/16]
$components['exponents'][] = new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256);
// BYTE coefficient[rsapubkey.bitlen/16]
$components['coefficients'] = array(2 => new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256));
$components['coefficients'] = [2 => new BigInteger(strrev(Strings::shift($key, $bitlen / 16)), 256)];
if (isset($components['privateExponent'])) {
$components['publicExponent'] = $components['privateExponent'];
}

View File

@ -46,7 +46,7 @@ class OpenSSH
*/
static function setComment($comment)
{
self::$comment = str_replace(array("\r", "\n"), '', $comment);
self::$comment = str_replace(["\r", "\n"], '', $comment);
}
/**
@ -93,12 +93,12 @@ class OpenSSH
}
$modulus = new BigInteger(Strings::shift($key, $length), -256);
return array(
return [
'isPublicKey' => true,
'modulus' => $modulus,
'publicExponent' => $publicExponent,
'comment' => $comment
);
];
}
/**

View File

@ -47,7 +47,7 @@ class PuTTY
*/
static function setComment($comment)
{
self::$comment = str_replace(array("\r", "\n"), '', $comment);
self::$comment = str_replace(["\r", "\n"], '', $comment);
}
/**
@ -102,12 +102,12 @@ class PuTTY
if (!preg_match('#Comment: "(.+)"#', $key, $matches)) {
return false;
}
$components['comment'] = str_replace(array('\\\\', '\"'), array('\\', '"'), $matches[1]);
$components['comment'] = str_replace(['\\\\', '\"'], ['\\', '"'], $matches[1]);
return $components;
}
$components = array('isPublicKey' => false);
$components = ['isPublicKey' => false];
$key = preg_split('#\r\n|\r|\n#', $key);
$type = trim(preg_replace('#PuTTY-User-Key-File-2: (.+)#', '$1', $key[0]));
if ($type != 'ssh-rsa') {
@ -149,7 +149,7 @@ class PuTTY
if (strlen($private) < $length) {
return false;
}
$components['primes'] = array(1 => new BigInteger(Strings::shift($private, $length), -256));
$components['primes'] = [1 => new BigInteger(Strings::shift($private, $length), -256)];
extract(unpack('Nlength', Strings::shift($private, 4)));
if (strlen($private) < $length) {
return false;
@ -157,7 +157,7 @@ class PuTTY
$components['primes'][] = new BigInteger(Strings::shift($private, $length), -256);
$temp = $components['primes'][1]->subtract($one);
$components['exponents'] = array(1 => $components['publicExponent']->modInverse($temp));
$components['exponents'] = [1 => $components['publicExponent']->modInverse($temp)];
$temp = $components['primes'][2]->subtract($one);
$components['exponents'][] = $components['publicExponent']->modInverse($temp);
@ -165,7 +165,7 @@ class PuTTY
if (strlen($private) < $length) {
return false;
}
$components['coefficients'] = array(2 => new BigInteger(Strings::shift($private, $length), -256));
$components['coefficients'] = [2 => new BigInteger(Strings::shift($private, $length), -256)];
return $components;
}
@ -189,7 +189,7 @@ class PuTTY
return false;
}
$raw = array(
$raw = [
'modulus' => $n->toBytes(true),
'publicExponent' => $e->toBytes(true),
'privateExponent' => $d->toBytes(true),
@ -198,7 +198,7 @@ class PuTTY
'exponent1' => $exponents[1]->toBytes(true),
'exponent2' => $exponents[2]->toBytes(true),
'coefficient' => $coefficients[2]->toBytes(true)
);
];
$key = "PuTTY-User-Key-File-2: ssh-rsa\r\nEncryption: ";
$encryption = (!empty($password) || is_string($password)) ? 'aes256-cbc' : 'none';
@ -286,7 +286,7 @@ class PuTTY
$n
);
$key = "---- BEGIN SSH2 PUBLIC KEY ----\r\n" .
'Comment: "' . str_replace(array('\\', '"'), array('\\\\', '\"'), self::$comment) . "\"\r\n" .
'Comment: "' . str_replace(['\\', '"'], ['\\\\', '\"'], self::$comment) . "\"\r\n" .
chunk_split(Base64::encode($key), 64) .
'---- END SSH2 PUBLIC KEY ----';

View File

@ -59,7 +59,7 @@ class Raw
}
}
}
$components = array('isPublicKey' => true);
$components = ['isPublicKey' => true];
switch (true) {
case isset($key['e']):
$components['publicExponent'] = $key['e'];
@ -99,6 +99,6 @@ class Raw
*/
static function savePublicKey(BigInteger $n, BigInteger $e)
{
return array('e' => clone $e, 'n' => clone $n);
return ['e' => clone $e, 'n' => clone $n];
}
}

View File

@ -46,12 +46,12 @@ class XML
return false;
}
$components = array(
$components = [
'isPublicKey' => false,
'primes' => array(),
'exponents' => array(),
'coefficients' => array()
);
'primes' => [],
'exponents' => [],
'coefficients' => []
];
$use_errors = libxml_use_internal_errors(true);
@ -60,7 +60,7 @@ class XML
return false;
}
$xpath = new \DOMXPath($dom);
$keys = array('modulus', 'exponent', 'p', 'q', 'dp', 'dq', 'inverseq', 'd');
$keys = ['modulus', 'exponent', 'p', 'q', 'dp', 'dq', 'inverseq', 'd'];
foreach ($keys as $key) {
// $dom->getElementsByTagName($key) is case-sensitive
$temp = $xpath->query("//*[translate(local-name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='$key']");

View File

@ -208,7 +208,7 @@ abstract class Random
if (isset($arr['__phpseclib_marker'])) {
return '';
}
$safearr = array();
$safearr = [];
$arr['__phpseclib_marker'] = true;
foreach (array_keys($arr) as $key) {
// do not recurse on the '__phpseclib_marker' key itself, for smaller memory usage

View File

@ -326,7 +326,7 @@ class Rijndael extends BlockCipher
$t3 = $tables[3];
$sbox = $tables[4];
$state = array();
$state = [];
$words = unpack('N*', $in);
$c = $this->c;
@ -348,7 +348,7 @@ class Rijndael extends BlockCipher
// equation (7.4.7) is supposed to use addition instead of subtraction, so we'll do that here, as well.
// [1] http://fp.gladman.plus.com/cryptography_technology/rijndael/aes.spec.v316.pdf
$temp = array();
$temp = [];
for ($round = 1; $round < $Nr; ++$round) {
$i = 0; // $c[0] == 0
$j = $c[1];
@ -427,7 +427,7 @@ class Rijndael extends BlockCipher
$dt3 = $invtables[3];
$isbox = $invtables[4];
$state = array();
$state = [];
$words = unpack('N*', $in);
$c = $this->c;
@ -441,7 +441,7 @@ class Rijndael extends BlockCipher
$state[] = $word ^ $dw[++$wc];
}
$temp = array();
$temp = [];
for ($round = $Nr - 1; $round > 0; --$round) {
$i = 0; // $c[0] == 0
$j = $Nb - $c[1];
@ -508,20 +508,20 @@ class Rijndael extends BlockCipher
{
// Each number in $rcon is equal to the previous number multiplied by two in Rijndael's finite field.
// See http://en.wikipedia.org/wiki/Finite_field_arithmetic#Multiplicative_inverse
static $rcon = array(0,
static $rcon = [0,
0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000,
0x20000000, 0x40000000, 0x80000000, 0x1B000000, 0x36000000,
0x6C000000, 0xD8000000, 0xAB000000, 0x4D000000, 0x9A000000,
0x2F000000, 0x5E000000, 0xBC000000, 0x63000000, 0xC6000000,
0x97000000, 0x35000000, 0x6A000000, 0xD4000000, 0xB3000000,
0x7D000000, 0xFA000000, 0xEF000000, 0xC5000000, 0x91000000
);
];
if (isset($this->kl['key']) && $this->key === $this->kl['key'] && $this->key_length === $this->kl['key_length'] && $this->block_size === $this->kl['block_size']) {
// already expanded
return;
}
$this->kl = array('key' => $this->key, 'key_length' => $this->key_length, 'block_size' => $this->block_size);
$this->kl = ['key' => $this->key, 'key_length' => $this->key_length, 'block_size' => $this->block_size];
$this->Nk = $this->key_length >> 2;
// see Rijndael-ammended.pdf#page=44
@ -535,13 +535,13 @@ class Rijndael extends BlockCipher
case 4:
case 5:
case 6:
$this->c = array(0, 1, 2, 3);
$this->c = [0, 1, 2, 3];
break;
case 7:
$this->c = array(0, 1, 2, 4);
$this->c = [0, 1, 2, 4];
break;
case 8:
$this->c = array(0, 1, 3, 4);
$this->c = [0, 1, 3, 4];
}
$w = array_values(unpack('N*words', $this->key));
@ -570,7 +570,7 @@ class Rijndael extends BlockCipher
// 2. Apply InvMixColumn to all Round Keys except the first and the last one."
// also, see fips-197.pdf#page=27, "5.3.5 Equivalent Inverse Cipher"
list($dt0, $dt1, $dt2, $dt3) = $this->_getInvTables();
$temp = $this->w = $this->dw = array();
$temp = $this->w = $this->dw = [];
for ($i = $row = $col = 0; $i < $length; $i++, $col++) {
if ($col == $this->Nb) {
if ($row == 0) {
@ -646,7 +646,7 @@ class Rijndael extends BlockCipher
// according to <http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=19> (section 5.2.1),
// precomputed tables can be used in the mixColumns phase. in that example, they're assigned t0...t3, so
// those are the names we'll use.
$t3 = array_map('intval', array(
$t3 = array_map('intval', [
// with array_map('intval', ...) we ensure we have only int's and not
// some slower floats converted by php automatically on high values
0x6363A5C6, 0x7C7C84F8, 0x777799EE, 0x7B7B8DF6, 0xF2F20DFF, 0x6B6BBDD6, 0x6F6FB1DE, 0xC5C55491,
@ -681,7 +681,7 @@ class Rijndael extends BlockCipher
0x9B9BB62D, 0x1E1E223C, 0x87879215, 0xE9E920C9, 0xCECE4987, 0x5555FFAA, 0x28287850, 0xDFDF7AA5,
0x8C8C8F03, 0xA1A1F859, 0x89898009, 0x0D0D171A, 0xBFBFDA65, 0xE6E631D7, 0x4242C684, 0x6868B8D0,
0x4141C382, 0x9999B029, 0x2D2D775A, 0x0F0F111E, 0xB0B0CB7B, 0x5454FCA8, 0xBBBBD66D, 0x16163A2C
));
]);
foreach ($t3 as $t3i) {
$t0[] = (($t3i << 24) & 0xFF000000) | (($t3i >> 8) & 0x00FFFFFF);
@ -689,14 +689,14 @@ class Rijndael extends BlockCipher
$t2[] = (($t3i << 8) & 0xFFFFFF00) | (($t3i >> 24) & 0x000000FF);
}
$tables = array(
$tables = [
// The Precomputed mixColumns tables t0 - t3
$t0,
$t1,
$t2,
$t3,
// The SubByte S-Box
array(
[
0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76,
0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0,
0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15,
@ -713,8 +713,8 @@ class Rijndael extends BlockCipher
0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E,
0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF,
0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16
)
);
]
];
}
return $tables;
}
@ -732,7 +732,7 @@ class Rijndael extends BlockCipher
{
static $tables;
if (empty($tables)) {
$dt3 = array_map('intval', array(
$dt3 = array_map('intval', [
0xF4A75051, 0x4165537E, 0x17A4C31A, 0x275E963A, 0xAB6BCB3B, 0x9D45F11F, 0xFA58ABAC, 0xE303934B,
0x30FA5520, 0x766DF6AD, 0xCC769188, 0x024C25F5, 0xE5D7FC4F, 0x2ACBD7C5, 0x35448026, 0x62A38FB5,
0xB15A49DE, 0xBA1B6725, 0xEA0E9845, 0xFEC0E15D, 0x2F7502C3, 0x4CF01281, 0x4697A38D, 0xD3F9C66B,
@ -765,7 +765,7 @@ class Rijndael extends BlockCipher
0xD2DF599C, 0xF2733F55, 0x14CE7918, 0xC737BF73, 0xF7CDEA53, 0xFDAA5B5F, 0x3D6F14DF, 0x44DB8678,
0xAFF381CA, 0x68C43EB9, 0x24342C38, 0xA3405FC2, 0x1DC37216, 0xE2250CBC, 0x3C498B28, 0x0D9541FF,
0xA8017139, 0x0CB3DE08, 0xB4E49CD8, 0x56C19064, 0xCB84617B, 0x32B670D5, 0x6C5C7448, 0xB85742D0
));
]);
foreach ($dt3 as $dt3i) {
$dt0[] = (($dt3i << 24) & 0xFF000000) | (($dt3i >> 8) & 0x00FFFFFF);
@ -773,14 +773,14 @@ class Rijndael extends BlockCipher
$dt2[] = (($dt3i << 8) & 0xFFFFFF00) | (($dt3i >> 24) & 0x000000FF);
};
$tables = array(
$tables = [
// The Precomputed inverse mixColumns tables dt0 - dt3
$dt0,
$dt1,
$dt2,
$dt3,
// The inverse SubByte S-Box
array(
[
0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
@ -797,8 +797,8 @@ class Rijndael extends BlockCipher
0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
)
);
]
];
}
return $tables;
}
@ -875,7 +875,7 @@ class Rijndael extends BlockCipher
// Mainrounds: shiftRows + subWord + mixColumns + addRoundKey
for ($round = 1; $round < $Nr; ++$round) {
list($s, $e) = array($e, $s);
list($s, $e) = [$e, $s];
for ($i = 0; $i < $Nb; ++$i) {
$encrypt_block.=
'$'.$e.$i.' =
@ -932,7 +932,7 @@ class Rijndael extends BlockCipher
// Mainrounds: shiftRows + subWord + mixColumns + addRoundKey
for ($round = 1; $round < $Nr; ++$round) {
list($s, $e) = array($e, $s);
list($s, $e) = [$e, $s];
for ($i = 0; $i < $Nb; ++$i) {
$decrypt_block.=
'$'.$e.$i.' =
@ -965,13 +965,13 @@ class Rijndael extends BlockCipher
$decrypt_block .= ');';
$lambda_functions[$code_hash] = $this->_createInlineCryptFunction(
array(
[
'init_crypt' => '',
'init_encrypt' => $init_encrypt,
'init_decrypt' => $init_decrypt,
'encrypt_block' => $encrypt_block,
'decrypt_block' => $decrypt_block
)
]
);
}
$this->inline_crypt = $lambda_functions[$code_hash];

View File

@ -159,11 +159,11 @@ class TripleDES extends DES
$this->mode_3cbc = true;
// This three $des'es will do the 3CBC work (if $key > 64bits)
$this->des = array(
$this->des = [
new DES(self::MODE_CBC),
new DES(self::MODE_CBC),
new DES(self::MODE_CBC),
);
];
// we're going to be doing the padding, ourselves, so disable it in the \phpseclib\Crypt\DES objects
$this->des[0]->disablePadding();

View File

@ -73,7 +73,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $q0 = array(
var $q0 = [
0xA9, 0x67, 0xB3, 0xE8, 0x04, 0xFD, 0xA3, 0x76,
0x9A, 0x92, 0x80, 0x78, 0xE4, 0xDD, 0xD1, 0x38,
0x0D, 0xC6, 0x35, 0x98, 0x18, 0xF7, 0xEC, 0x6C,
@ -106,7 +106,7 @@ class Twofish extends BlockCipher
0xC8, 0xA8, 0x2B, 0x40, 0xDC, 0xFE, 0x32, 0xA4,
0xCA, 0x10, 0x21, 0xF0, 0xD3, 0x5D, 0x0F, 0x00,
0x6F, 0x9D, 0x36, 0x42, 0x4A, 0x5E, 0xC1, 0xE0
);
];
/**
* Q-Table
@ -114,7 +114,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $q1 = array(
var $q1 = [
0x75, 0xF3, 0xC6, 0xF4, 0xDB, 0x7B, 0xFB, 0xC8,
0x4A, 0xD3, 0xE6, 0x6B, 0x45, 0x7D, 0xE8, 0x4B,
0xD6, 0x32, 0xD8, 0xFD, 0x37, 0x71, 0xF1, 0xE1,
@ -147,7 +147,7 @@ class Twofish extends BlockCipher
0x12, 0xA2, 0x0D, 0x52, 0xBB, 0x02, 0x2F, 0xA9,
0xD7, 0x61, 0x1E, 0xB4, 0x50, 0x04, 0xF6, 0xC2,
0x16, 0x25, 0x86, 0x56, 0x55, 0x09, 0xBE, 0x91
);
];
/**
* M-Table
@ -155,7 +155,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $m0 = array(
var $m0 = [
0xBCBC3275, 0xECEC21F3, 0x202043C6, 0xB3B3C9F4, 0xDADA03DB, 0x02028B7B, 0xE2E22BFB, 0x9E9EFAC8,
0xC9C9EC4A, 0xD4D409D3, 0x18186BE6, 0x1E1E9F6B, 0x98980E45, 0xB2B2387D, 0xA6A6D2E8, 0x2626B74B,
0x3C3C57D6, 0x93938A32, 0x8282EED8, 0x525298FD, 0x7B7BD437, 0xBBBB3771, 0x5B5B97F1, 0x474783E1,
@ -188,7 +188,7 @@ class Twofish extends BlockCipher
0xABABA212, 0x6F6F3EA2, 0xE6E6540D, 0xDBDBF252, 0x92927BBB, 0xB7B7B602, 0x6969CA2F, 0x3939D9A9,
0xD3D30CD7, 0xA7A72361, 0xA2A2AD1E, 0xC3C399B4, 0x6C6C4450, 0x07070504, 0x04047FF6, 0x272746C2,
0xACACA716, 0xD0D07625, 0x50501386, 0xDCDCF756, 0x84841A55, 0xE1E15109, 0x7A7A25BE, 0x1313EF91
);
];
/**
* M-Table
@ -196,7 +196,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $m1 = array(
var $m1 = [
0xA9D93939, 0x67901717, 0xB3719C9C, 0xE8D2A6A6, 0x04050707, 0xFD985252, 0xA3658080, 0x76DFE4E4,
0x9A084545, 0x92024B4B, 0x80A0E0E0, 0x78665A5A, 0xE4DDAFAF, 0xDDB06A6A, 0xD1BF6363, 0x38362A2A,
0x0D54E6E6, 0xC6432020, 0x3562CCCC, 0x98BEF2F2, 0x181E1212, 0xF724EBEB, 0xECD7A1A1, 0x6C774141,
@ -229,7 +229,7 @@ class Twofish extends BlockCipher
0xC8FA9E9E, 0xA882D6D6, 0x2BCF6E6E, 0x40507070, 0xDCEB8585, 0xFE750A0A, 0x328A9393, 0xA48DDFDF,
0xCA4C2929, 0x10141C1C, 0x2173D7D7, 0xF0CCB4B4, 0xD309D4D4, 0x5D108A8A, 0x0FE25151, 0x00000000,
0x6F9A1919, 0x9DE01A1A, 0x368F9494, 0x42E6C7C7, 0x4AECC9C9, 0x5EFDD2D2, 0xC1AB7F7F, 0xE0D8A8A8
);
];
/**
* M-Table
@ -237,7 +237,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $m2 = array(
var $m2 = [
0xBC75BC32, 0xECF3EC21, 0x20C62043, 0xB3F4B3C9, 0xDADBDA03, 0x027B028B, 0xE2FBE22B, 0x9EC89EFA,
0xC94AC9EC, 0xD4D3D409, 0x18E6186B, 0x1E6B1E9F, 0x9845980E, 0xB27DB238, 0xA6E8A6D2, 0x264B26B7,
0x3CD63C57, 0x9332938A, 0x82D882EE, 0x52FD5298, 0x7B377BD4, 0xBB71BB37, 0x5BF15B97, 0x47E14783,
@ -270,7 +270,7 @@ class Twofish extends BlockCipher
0xAB12ABA2, 0x6FA26F3E, 0xE60DE654, 0xDB52DBF2, 0x92BB927B, 0xB702B7B6, 0x692F69CA, 0x39A939D9,
0xD3D7D30C, 0xA761A723, 0xA21EA2AD, 0xC3B4C399, 0x6C506C44, 0x07040705, 0x04F6047F, 0x27C22746,
0xAC16ACA7, 0xD025D076, 0x50865013, 0xDC56DCF7, 0x8455841A, 0xE109E151, 0x7ABE7A25, 0x139113EF
);
];
/**
* M-Table
@ -278,7 +278,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $m3 = array(
var $m3 = [
0xD939A9D9, 0x90176790, 0x719CB371, 0xD2A6E8D2, 0x05070405, 0x9852FD98, 0x6580A365, 0xDFE476DF,
0x08459A08, 0x024B9202, 0xA0E080A0, 0x665A7866, 0xDDAFE4DD, 0xB06ADDB0, 0xBF63D1BF, 0x362A3836,
0x54E60D54, 0x4320C643, 0x62CC3562, 0xBEF298BE, 0x1E12181E, 0x24EBF724, 0xD7A1ECD7, 0x77416C77,
@ -311,7 +311,7 @@ class Twofish extends BlockCipher
0xFA9EC8FA, 0x82D6A882, 0xCF6E2BCF, 0x50704050, 0xEB85DCEB, 0x750AFE75, 0x8A93328A, 0x8DDFA48D,
0x4C29CA4C, 0x141C1014, 0x73D72173, 0xCCB4F0CC, 0x09D4D309, 0x108A5D10, 0xE2510FE2, 0x00000000,
0x9A196F9A, 0xE01A9DE0, 0x8F94368F, 0xE6C742E6, 0xECC94AEC, 0xFDD25EFD, 0xAB7FC1AB, 0xD8A8E0D8
);
];
/**
* The Key Schedule Array
@ -319,7 +319,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $K = array();
var $K = [];
/**
* The Key depended S-Table 0
@ -327,7 +327,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $S0 = array();
var $S0 = [];
/**
* The Key depended S-Table 1
@ -335,7 +335,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $S1 = array();
var $S1 = [];
/**
* The Key depended S-Table 2
@ -343,7 +343,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $S2 = array();
var $S2 = [];
/**
* The Key depended S-Table 3
@ -351,7 +351,7 @@ class Twofish extends BlockCipher
* @var array
* @access private
*/
var $S3 = array();
var $S3 = [];
/**
* Holds the last used key
@ -444,7 +444,7 @@ class Twofish extends BlockCipher
// already expanded
return;
}
$this->kl = array('key' => $this->key);
$this->kl = ['key' => $this->key];
/* Key expanding and generating the key-depended s-boxes */
$le_longs = unpack('V*', $this->key);
@ -456,7 +456,7 @@ class Twofish extends BlockCipher
$q0 = $this->q0;
$q1 = $this->q1;
$K = $S0 = $S1 = $S2 = $S3 = array();
$K = $S0 = $S1 = $S2 = $S3 = [];
switch (strlen($this->key)) {
case 16:
@ -580,11 +580,11 @@ class Twofish extends BlockCipher
$B^= ($u << 24) | ($u << 8);
}
return array(
return [
0xff & $B >> 24,
0xff & $B >> 16,
0xff & $B >> 8,
0xff & $B);
0xff & $B];
}
/**
@ -736,7 +736,7 @@ class Twofish extends BlockCipher
';
break;
default:
$K = array();
$K = [];
for ($i = 0; $i < 40; ++$i) {
$K[] = '$K_' . $i;
}
@ -834,13 +834,13 @@ class Twofish extends BlockCipher
';
$lambda_functions[$code_hash] = $this->_createInlineCryptFunction(
array(
[
'init_crypt' => $init_crypt,
'init_encrypt' => '',
'init_decrypt' => '',
'encrypt_block' => $encrypt_block,
'decrypt_block' => $decrypt_block
)
]
);
}
$this->inline_crypt = $lambda_functions[$code_hash];

View File

@ -193,7 +193,7 @@ class ANSI
$this->max_x = $x - 1;
$this->max_y = $y - 1;
$this->x = $this->y = 0;
$this->history = $this->history_attrs = array();
$this->history = $this->history_attrs = [];
$this->attr_row = array_fill(0, $this->max_x + 2, $this->base_attr_cell);
$this->screen = array_fill(0, $this->max_y + 1, '');
$this->attrs = array_fill(0, $this->max_y + 1, $this->attr_row);
@ -232,7 +232,7 @@ class ANSI
*/
function appendString($source)
{
$this->tokenization = array('');
$this->tokenization = [''];
for ($i = 0; $i < strlen($source); $i++) {
if (strlen($this->ansi)) {
$this->ansi.= $source[$i];
@ -438,10 +438,10 @@ class ANSI
//}
while ($this->y >= $this->max_y) {
$this->history = array_merge($this->history, array(array_shift($this->screen)));
$this->history = array_merge($this->history, [array_shift($this->screen)]);
$this->screen[] = '';
$this->history_attrs = array_merge($this->history_attrs, array(array_shift($this->attrs)));
$this->history_attrs = array_merge($this->history_attrs, [array_shift($this->attrs)]);
$this->attrs[] = $this->attr_row;
if (count($this->history) >= $this->max_history) {

View File

@ -530,8 +530,8 @@ class X509
}
}
$filters = array();
$type_utf8_string = array('type' => ASN1::TYPE_UTF8_STRING);
$filters = [];
$type_utf8_string = ['type' => ASN1::TYPE_UTF8_STRING];
$filters['tbsCertificate']['signature']['parameters'] = $type_utf8_string;
$filters['tbsCertificate']['signature']['issuer']['rdnSequence']['value'] = $type_utf8_string;
$filters['tbsCertificate']['issuer']['rdnSequence']['value'] = $type_utf8_string;
@ -548,7 +548,7 @@ class X509
characters.
*/
$filters['policyQualifiers']['qualifier']
= array('type' => ASN1::TYPE_IA5_STRING);
= ['type' => ASN1::TYPE_IA5_STRING];
ASN1::setFilters($filters);
@ -588,7 +588,7 @@ class X509
corresponding to the extension type identified by extnID */
$map = $this->_getMapping($id);
if (!is_bool($map)) {
$mapped = ASN1::asn1map($decoded[0], $map, array('iPAddress' => array($this, '_decodeIP')));
$mapped = ASN1::asn1map($decoded[0], $map, ['iPAddress' => [$this, '_decodeIP']]);
$value = $mapped === false ? $decoded[0] : $mapped;
if ($id == 'id-ce-certificatePolicies') {
@ -671,7 +671,7 @@ class X509
unset($extensions[$i]);
}
} else {
$value = ASN1::encodeDER($value, $map, array('iPAddress' => array($this, '_encodeIP')));
$value = ASN1::encodeDER($value, $map, ['iPAddress' => [$this, '_encodeIP']]);
}
}
}
@ -1006,7 +1006,7 @@ class X509
if ($names = $this->getExtension('id-ce-subjectAltName')) {
foreach ($names as $key => $value) {
$value = str_replace(array('.', '*'), array('\.', '[^.]*'), $value);
$value = str_replace(['.', '*'], ['\.', '[^.]*'], $value);
switch ($key) {
case 'dNSName':
/* From RFC2818 "HTTP over TLS":
@ -1035,7 +1035,7 @@ class X509
}
if ($value = $this->getDNProp('id-at-commonName')) {
$value = str_replace(array('.', '*'), array('\.', '[^.]*'), $value[0]);
$value = str_replace(['.', '*'], ['\.', '[^.]*'], $value[0]);
return preg_match('#^' . $value . '$#', $components['host']);
}
@ -1401,7 +1401,7 @@ class X509
function setDNProp($propName, $propValue, $type = 'utf8String')
{
if (empty($this->dn)) {
$this->dn = array('rdnSequence' => array());
$this->dn = ['rdnSequence' => []];
}
if (($propName = $this->_translateDNProp($propName)) === false) {
@ -1410,14 +1410,14 @@ class X509
foreach ((array) $propValue as $v) {
if (!is_array($v) && isset($type)) {
$v = array($type => $v);
$v = [$type => $v];
}
$this->dn['rdnSequence'][] = array(
array(
$this->dn['rdnSequence'][] = [
[
'type' => $propName,
'value'=> $v
)
);
]
];
}
return true;
@ -1473,12 +1473,12 @@ class X509
return false;
}
$filters = array();
$filters['value'] = array('type' => ASN1::TYPE_UTF8_STRING);
$filters = [];
$filters['value'] = ['type' => ASN1::TYPE_UTF8_STRING];
ASN1::setFilters($filters);
$this->_mapOutDNs($dn, 'rdnSequence');
$dn = $dn['rdnSequence'];
$result = array();
$result = [];
for ($i = 0; $i < count($dn); $i++) {
if ($dn[$i][0]['type'] == $propName) {
$v = $dn[$i][0]['value'];
@ -1573,8 +1573,8 @@ class X509
case self::DN_ARRAY:
return $dn;
case self::DN_ASN1:
$filters = array();
$filters['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING);
$filters = [];
$filters['rdnSequence']['value'] = ['type' => ASN1::TYPE_UTF8_STRING];
ASN1::setFilters($filters);
$this->_mapOutDNs($dn, 'rdnSequence');
return ASN1::encodeDER($dn, Maps\Name::MAP);
@ -1582,8 +1582,8 @@ class X509
// No SEQUENCE around RDNs and all string values normalized as
// trimmed lowercase UTF-8 with all spacing as one blank.
// constructed RDNs will not be canonicalized
$filters = array();
$filters['value'] = array('type' => ASN1::TYPE_UTF8_STRING);
$filters = [];
$filters['value'] = ['type' => ASN1::TYPE_UTF8_STRING];
ASN1::setFilters($filters);
$result = '';
$this->_mapOutDNs($dn, 'rdnSequence');
@ -1619,9 +1619,9 @@ class X509
$start = true;
$output = '';
$result = array();
$filters = array();
$filters['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING);
$result = [];
$filters = [];
$filters['rdnSequence']['value'] = ['type' => ASN1::TYPE_UTF8_STRING];
ASN1::setFilters($filters);
$this->_mapOutDNs($dn, 'rdnSequence');
@ -1688,7 +1688,7 @@ class X509
}
$output.= $desc . '=' . $value;
$result[$desc] = isset($result[$desc]) ?
array_merge((array) $dn[$prop], array($value)) :
array_merge((array) $dn[$prop], [$value]) :
$value;
$start = false;
}
@ -1795,7 +1795,7 @@ class X509
*/
function getChain()
{
$chain = array($this->currentCert);
$chain = [$this->currentCert];
if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) {
return false;
@ -1888,7 +1888,7 @@ class X509
}
if (isset($this->currentCert) && is_array($this->currentCert)) {
foreach (array('tbsCertificate/subjectPublicKeyInfo', 'certificationRequestInfo/subjectPKInfo') as $path) {
foreach (['tbsCertificate/subjectPublicKeyInfo', 'certificationRequestInfo/subjectPKInfo'] as $path) {
$keyinfo = $this->_subArray($this->currentCert, $path);
if (!empty($keyinfo)) {
break;
@ -2021,9 +2021,9 @@ class X509
}
}
$filters = array();
$filters = [];
$filters['certificationRequestInfo']['subject']['rdnSequence']['value']
= array('type' => ASN1::TYPE_UTF8_STRING);
= ['type' => ASN1::TYPE_UTF8_STRING];
ASN1::setFilters($filters);
@ -2232,22 +2232,22 @@ class X509
return false;
}
$filters = array();
$filters = [];
$filters['tbsCertList']['issuer']['rdnSequence']['value']
= array('type' => ASN1::TYPE_UTF8_STRING);
= ['type' => ASN1::TYPE_UTF8_STRING];
$filters['tbsCertList']['signature']['parameters']
= array('type' => ASN1::TYPE_UTF8_STRING);
= ['type' => ASN1::TYPE_UTF8_STRING];
$filters['signatureAlgorithm']['parameters']
= array('type' => ASN1::TYPE_UTF8_STRING);
= ['type' => ASN1::TYPE_UTF8_STRING];
if (empty($crl['tbsCertList']['signature']['parameters'])) {
$filters['tbsCertList']['signature']['parameters']
= array('type' => ASN1::TYPE_NULL);
= ['type' => ASN1::TYPE_NULL];
}
if (empty($crl['signatureAlgorithm']['parameters'])) {
$filters['signatureAlgorithm']['parameters']
= array('type' => ASN1::TYPE_NULL);
= ['type' => ASN1::TYPE_NULL];
}
ASN1::setFilters($filters);
@ -2288,9 +2288,9 @@ class X509
{
$year = @gmdate("Y", @strtotime($date)); // the same way ASN1.php parses this
if ($year < 2050) {
return array('utcTime' => $date);
return ['utcTime' => $date];
} else {
return array('generalTime' => $date);
return ['generalTime' => $date];
}
}
@ -2364,23 +2364,23 @@ class X509
$this->serialNumber :
new BigInteger(Random::string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256);
$this->currentCert = array(
$this->currentCert = [
'tbsCertificate' =>
array(
'version' => 'v3',
'serialNumber' => $serialNumber, // $this->setserialNumber()
'signature' => array('algorithm' => $signatureAlgorithm),
'issuer' => false, // this is going to be overwritten later
'validity' => array(
'validity' => [
'notBefore' => $this->_timeField($startDate), // $this->setStartDate()
'notAfter' => $this->_timeField($endDate) // $this->setEndDate()
),
],
'subject' => $subject->dn,
'subjectPublicKeyInfo' => $subjectPublicKey
),
'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm),
'signatureAlgorithm' => ['algorithm' => $signatureAlgorithm],
'signature' => false // this is going to be overwritten later
);
];
// Copy extensions from CSR.
$csrexts = $subject->getAttribute('pkcs-9-at-extensionRequest', 0);
@ -2393,14 +2393,14 @@ class X509
$this->currentCert['tbsCertificate']['issuer'] = $issuer->dn;
if (isset($issuer->currentKeyIdentifier)) {
$this->setExtension('id-ce-authorityKeyIdentifier', array(
$this->setExtension('id-ce-authorityKeyIdentifier', [
//'authorityCertIssuer' => array(
// array(
// 'directoryName' => $issuer->dn
// )
//),
'keyIdentifier' => $issuer->currentKeyIdentifier
));
]);
//$extensions = &$this->currentCert['tbsCertificate']['extensions'];
//if (isset($issuer->serialNumber)) {
// $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber;
@ -2412,16 +2412,16 @@ class X509
$this->setExtension('id-ce-subjectKeyIdentifier', $subject->currentKeyIdentifier);
}
$altName = array();
$altName = [];
if (isset($subject->domains) && count($subject->domains) > 1) {
$altName = array_map(array('X509', '_dnsName'), $subject->domains);
$altName = array_map(['X509', '_dnsName'], $subject->domains);
}
if (isset($subject->ipAddresses) && count($subject->ipAddresses)) {
// should an IP address appear as the CN if no domain name is specified? idk
//$ips = count($subject->domains) ? $subject->ipAddresses : array_slice($subject->ipAddresses, 1);
$ipAddresses = array();
$ipAddresses = [];
foreach ($subject->ipAddresses as $ipAddress) {
$encoded = $subject->_ipAddress($ipAddress);
if ($encoded !== false) {
@ -2440,22 +2440,22 @@ class X509
if ($this->caFlag) {
$keyUsage = $this->getExtension('id-ce-keyUsage');
if (!$keyUsage) {
$keyUsage = array();
$keyUsage = [];
}
$this->setExtension(
'id-ce-keyUsage',
array_values(array_unique(array_merge($keyUsage, array('cRLSign', 'keyCertSign'))))
array_values(array_unique(array_merge($keyUsage, ['cRLSign', 'keyCertSign'])))
);
$basicConstraints = $this->getExtension('id-ce-basicConstraints');
if (!$basicConstraints) {
$basicConstraints = array();
$basicConstraints = [];
}
$this->setExtension(
'id-ce-basicConstraints',
array_unique(array_merge(array('cA' => true), $basicConstraints)),
array_unique(array_merge(['cA' => true], $basicConstraints)),
true
);
@ -2510,16 +2510,16 @@ class X509
}
$this->currentCert['certificationRequestInfo']['subjectPKInfo'] = $publicKey;
} else {
$this->currentCert = array(
$this->currentCert = [
'certificationRequestInfo' =>
array(
[
'version' => 'v1',
'subject' => $this->dn,
'subjectPKInfo' => $publicKey
),
'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm),
],
'signatureAlgorithm' => ['algorithm' => $signatureAlgorithm],
'signature' => false // this is going to be overwritten later
);
];
}
// resync $this->signatureSubject
@ -2571,9 +2571,9 @@ class X509
$this->currentCert['publicKeyAndChallenge']['challenge'] = $this->challenge & str_repeat("\x7F", strlen($this->challenge));
}
} else {
$this->currentCert = array(
$this->currentCert = [
'publicKeyAndChallenge' =>
array(
[
'spki' => $publicKey,
// quoting <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen>,
// "A challenge string that is submitted along with the public key. Defaults to an empty string if not specified."
@ -2581,10 +2581,10 @@ class X509
// we could alternatively do this instead if we ignored the specs:
// Random::string(8) & str_repeat("\x7F", 8)
'challenge' => !empty($this->challenge) ? $this->challenge : ''
),
'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm),
],
'signatureAlgorithm' => ['algorithm' => $signatureAlgorithm],
'signature' => false // this is going to be overwritten later
);
];
}
// resync $this->signatureSubject
@ -2627,17 +2627,17 @@ class X509
$this->currentCert['tbsCertList']['signature']['algorithm'] = $signatureAlgorithm;
$this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm;
} else {
$this->currentCert = array(
$this->currentCert = [
'tbsCertList' =>
array(
[
'version' => 'v2',
'signature' => array('algorithm' => $signatureAlgorithm),
'signature' => ['algorithm' => $signatureAlgorithm],
'issuer' => false, // this is going to be overwritten later
'thisUpdate' => $this->_timeField($thisUpdate) // $this->setStartDate()
),
'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm),
],
'signatureAlgorithm' => ['algorithm' => $signatureAlgorithm],
'signature' => false // this is going to be overwritten later
);
];
}
$tbsCertList = &$this->currentCert['tbsCertList'];
@ -2690,14 +2690,14 @@ class X509
}
if (isset($issuer->currentKeyIdentifier)) {
$this->setExtension('id-ce-authorityKeyIdentifier', array(
$this->setExtension('id-ce-authorityKeyIdentifier', [
//'authorityCertIssuer' => array(
// array(
// ]
// 'directoryName' => $issuer->dn
// )
// ]
//),
'keyIdentifier' => $issuer->currentKeyIdentifier
));
]);
//$extensions = &$tbsCertList['crlExtensions'];
//if (isset($issuer->serialNumber)) {
// $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber;
@ -2881,7 +2881,7 @@ class X509
return $false;
}
$root[$i] = array();
$root[$i] = [];
}
$root = &$root[$i];
@ -2917,7 +2917,7 @@ class X509
return $false;
}
$root[$i] = array();
$root[$i] = [];
}
$root = &$root[$i];
@ -2964,7 +2964,7 @@ class X509
}
if ($create) {
$key = count($attributes);
$attributes[] = array('type' => 'pkcs-9-at-extensionRequest', 'value' => array());
$attributes[] = ['type' => 'pkcs-9-at-extensionRequest', 'value' => []];
$path = "$pth/$key/value/0";
}
}
@ -3048,7 +3048,7 @@ class X509
function _getExtensions($cert = null, $path = null)
{
$exts = $this->_extensions($cert, $path);
$extensions = array();
$extensions = [];
if (is_array($exts)) {
foreach ($exts as $extension) {
@ -3078,7 +3078,7 @@ class X509
return false;
}
$newext = array('extnId' => $id, 'critical' => $critical, 'extnValue' => $value);
$newext = ['extnId' => $id, 'critical' => $critical, 'extnValue' => $value];
foreach ($extensions as $key => $value) {
if ($value['extnId'] == $id) {
@ -3255,7 +3255,7 @@ class X509
}
$attributes = $this->_subArray($csr, 'certificationRequestInfo/attributes');
$attrs = array();
$attrs = [];
if (is_array($attributes)) {
foreach ($attributes as $attribute) {
@ -3315,7 +3315,7 @@ class X509
$attributes[$last]['value'][] = $value;
break;
default:
$attributes[] = array('type' => $id, 'value' => $disposition == self::ATTR_ALL ? $value: array($value));
$attributes[] = ['type' => $id, 'value' => $disposition == self::ATTR_ALL ? $value: [$value]];
break;
}
@ -3378,7 +3378,7 @@ class X509
if (empty($decoded)) {
return false;
}
$raw = ASN1::asn1map($decoded[0], array('type' => ASN1::TYPE_BIT_STRING));
$raw = ASN1::asn1map($decoded[0], ['type' => ASN1::TYPE_BIT_STRING]);
if (empty($raw)) {
return false;
}
@ -3435,10 +3435,10 @@ class X509
// the following two return statements do the same thing. i dunno.. i just prefer the later for some reason.
// the former is a good example of how to do fuzzing on the public key
//return new Element(preg_replace('#-.+-|[\r\n]#', '', $this->publicKey->getPublicKey()));
return array(
return [
'algorithm' => array('algorithm' => 'rsaEncryption'),
'subjectPublicKey' => $this->publicKey->getPublicKey('PKCS1')
);
];
}
return false;
@ -3483,7 +3483,7 @@ class X509
*/
function _dnsName($domain)
{
return array('dNSName' => $domain);
return ['dNSName' => $domain];
}
/**
@ -3497,7 +3497,7 @@ class X509
*/
function _iPAddress($address)
{
return array('iPAddress' => $address);
return ['iPAddress' => $address];
}
/**
@ -3524,8 +3524,8 @@ class X509
}
$i = count($rclist);
$rclist[] = array('userCertificate' => $serial,
'revocationDate' => $this->_timeField(@date('D, d M Y H:i:s O')));
$rclist[] = ['userCertificate' => $serial,
'revocationDate' => $this->_timeField(@date('D, d M Y H:i:s O'))];
return $i;
}
@ -3611,7 +3611,7 @@ class X509
return false;
}
$result = array();
$result = [];
if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) {
foreach ($rclist as $rc) {

View File

@ -20,7 +20,7 @@
* base is being used should more than compensate.
*
* Numbers are stored in {@link http://en.wikipedia.org/wiki/Endianness little endian} format. ie.
* (new \phpseclib\Math\BigInteger(pow(2, 26)))->value = array(0, 1)
* (new \phpseclib\Math\BigInteger(pow(2, 26)))->value = [0, 1]
*
* Useful resources are as follows:
*
@ -313,7 +313,7 @@ class BigInteger
$this->value = '0';
break;
default:
$this->value = array();
$this->value = [];
}
// '0' counts as empty() but when the base is 256 '0' is equal to ord('0') or 48
@ -423,7 +423,7 @@ class BigInteger
$temp = new static();
$multiplier = new static();
$multiplier->value = array(self::$max10);
$multiplier->value = [self::$max10];
if ($x[0] == '-') {
$this->is_negative = true;
@ -665,7 +665,7 @@ class BigInteger
$temp->is_negative = false;
$divisor = new static();
$divisor->value = array(self::$max10);
$divisor->value = [self::$max10];
$result = '';
while (count($temp->value)) {
list($temp, $mod) = $temp->divide($divisor);
@ -708,7 +708,7 @@ class BigInteger
function __sleep()
{
$this->hex = $this->toHex(true);
$vars = array('hex');
$vars = ['hex'];
if ($this->precision > 0) {
$vars[] = 'precision';
}
@ -743,7 +743,7 @@ class BigInteger
*/
function __debugInfo()
{
$opts = array();
$opts = [];
switch (MATH_BIGINTEGER_MODE) {
case self::MODE_GMP:
$engine = 'gmp';
@ -761,10 +761,10 @@ class BigInteger
if (!empty($opts)) {
$engine.= ' (' . implode($opts, ', ') . ')';
}
return array(
return [
'value' => '0x' . $this->toHex(true),
'engine' => $engine
);
];
}
/**
@ -827,24 +827,24 @@ class BigInteger
$y_size = count($y_value);
if ($x_size == 0) {
return array(
return [
self::VALUE => $y_value,
self::SIGN => $y_negative
);
];
} elseif ($y_size == 0) {
return array(
return [
self::VALUE => $x_value,
self::SIGN => $x_negative
);
];
}
// subtract, if appropriate
if ($x_negative != $y_negative) {
if ($x_value == $y_value) {
return array(
return [
self::VALUE => array(),
self::SIGN => false
);
];
}
$temp = self::_subtract($x_value, false, $y_value, false);
@ -890,10 +890,10 @@ class BigInteger
++$value[$i];
}
return array(
return [
self::VALUE => self::_trim($value),
self::SIGN => $x_negative
);
];
}
/**
@ -956,15 +956,15 @@ class BigInteger
$y_size = count($y_value);
if ($x_size == 0) {
return array(
return [
self::VALUE => $y_value,
self::SIGN => !$y_negative
);
];
} elseif ($y_size == 0) {
return array(
return [
self::VALUE => $x_value,
self::SIGN => $x_negative
);
];
}
// add, if appropriate (ie. -$x - +$y or +$x - -$y)
@ -978,10 +978,10 @@ class BigInteger
$diff = self::_compare($x_value, $x_negative, $y_value, $y_negative);
if (!$diff) {
return array(
self::VALUE => array(),
return [
self::VALUE => [],
self::SIGN => false
);
];
}
// switch $x and $y around, if appropriate.
@ -1024,10 +1024,10 @@ class BigInteger
--$x_value[$i];
}
return array(
return [
self::VALUE => self::_trim($x_value),
self::SIGN => $x_negative
);
];
}
/**
@ -1086,28 +1086,28 @@ class BigInteger
static function _multiply($x_value, $x_negative, $y_value, $y_negative)
{
//if ( $x_value == $y_value ) {
// return array(
// return [
// self::VALUE => $this->_square($x_value),
// self::SIGN => $x_sign != $y_value
// );
// ];
//}
$x_length = count($x_value);
$y_length = count($y_value);
if (!$x_length || !$y_length) { // a 0 is being multiplied
return array(
self::VALUE => array(),
return [
self::VALUE => [],
self::SIGN => false
);
];
}
return array(
return [
self::VALUE => min($x_length, $y_length) < 2 * self::KARATSUBA_CUTOFF ?
self::_trim(self::_regularMultiply($x_value, $y_value)) :
self::_trim(self::_karatsuba($x_value, $y_value)),
self::SIGN => $x_negative != $y_negative
);
];
}
/**
@ -1126,7 +1126,7 @@ class BigInteger
$y_length = count($y_value);
if (!$x_length || !$y_length) { // a 0 is being multiplied
return array();
return [];
}
if ($x_length < $y_length) {
@ -1243,7 +1243,7 @@ class BigInteger
static function _baseSquare($value)
{
if (empty($value)) {
return array();
return [];
}
$square_value = self::_array_repeat(0, 2 * count($value));
@ -1347,7 +1347,7 @@ class BigInteger
$remainder->value = gmp_add($remainder->value, gmp_abs($y->value));
}
return array($this->_normalize($quotient), $this->_normalize($remainder));
return [$this->_normalize($quotient), $this->_normalize($remainder)];
case self::MODE_BCMATH:
$quotient = new static();
$remainder = new static();
@ -1359,7 +1359,7 @@ class BigInteger
$remainder->value = bcadd($remainder->value, $y->value[0] == '-' ? substr($y->value, 1) : $y->value, 0);
}
return array($this->_normalize($quotient), $this->_normalize($remainder));
return [$this->_normalize($quotient), $this->_normalize($remainder)];
}
if (count($y->value) == 1) {
@ -1367,9 +1367,9 @@ class BigInteger
$quotient = new static();
$remainder = new static();
$quotient->value = $q;
$remainder->value = array($r);
$remainder->value = [$r];
$quotient->is_negative = $this->is_negative != $y->is_negative;
return array($this->_normalize($quotient), $this->_normalize($remainder));
return [$this->_normalize($quotient), $this->_normalize($remainder)];
}
static $zero;
@ -1389,9 +1389,9 @@ class BigInteger
if (!$diff) {
$temp = new static();
$temp->value = array(1);
$temp->value = [1];
$temp->is_negative = $x_sign != $y_sign;
return array($this->_normalize($temp), $this->_normalize(new static()));
return [$this->_normalize($temp), $this->_normalize(new static())];
}
if ($diff < 0) {
@ -1399,7 +1399,7 @@ class BigInteger
if ($x_sign) {
$x = $y->subtract($x);
}
return array($this->_normalize(new static()), $this->_normalize($x));
return [$this->_normalize(new static()), $this->_normalize($x)];
}
// normalize $x and $y as described in HAC 14.23 / 14.24
@ -1439,15 +1439,15 @@ class BigInteger
for ($i = $x_max; $i >= $y_max + 1; --$i) {
$x_value = &$x->value;
$x_window = array(
$x_window = [
isset($x_value[$i]) ? $x_value[$i] : 0,
isset($x_value[$i - 1]) ? $x_value[$i - 1] : 0,
isset($x_value[$i - 2]) ? $x_value[$i - 2] : 0
);
$y_window = array(
];
$y_window = [
$y_value[$y_max],
($y_max > 0) ? $y_value[$y_max - 1] : 0
);
];
$q_index = $i - $y_max - 1;
if ($x_window[0] == $y_window[0]) {
@ -1459,22 +1459,22 @@ class BigInteger
);
}
$temp_value = array($y_window[1], $y_window[0]);
$temp_value = [$y_window[1], $y_window[0]];
$lhs->value = array($quotient_value[$q_index]);
$lhs->value = [$quotient_value[$q_index]];
$lhs = $lhs->multiply($temp);
$rhs_value = array($x_window[2], $x_window[1], $x_window[0]);
$rhs_value = [$x_window[2], $x_window[1], $x_window[0]];
while ($lhs->compare($rhs) > 0) {
--$quotient_value[$q_index];
$lhs->value = array($quotient_value[$q_index]);
$lhs->value = [$quotient_value[$q_index]];
$lhs = $lhs->multiply($temp);
}
$adjust = $this->_array_repeat(0, $q_index);
$temp_value = array($quotient_value[$q_index]);
$temp_value = [$quotient_value[$q_index]];
$temp = $temp->multiply($y);
$temp_value = &$temp->value;
$temp_value = array_merge($adjust, $temp_value);
@ -1502,7 +1502,7 @@ class BigInteger
$x = $y->subtract($x);
}
return array($this->_normalize($quotient), $this->_normalize($x));
return [$this->_normalize($quotient), $this->_normalize($x)];
}
/**
@ -1518,7 +1518,7 @@ class BigInteger
static function _divide_digit($dividend, $divisor)
{
$carry = 0;
$result = array();
$result = [];
for ($i = count($dividend) - 1; $i >= 0; --$i) {
$temp = self::$baseFull * $carry + $dividend[$i];
@ -1526,7 +1526,7 @@ class BigInteger
$carry = (int) ($temp - $divisor * $result[$i]);
}
return array($result, $carry);
return [$result, $carry];
}
/**
@ -1597,15 +1597,15 @@ class BigInteger
}
if (defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) {
$components = array(
$components = [
'modulus' => $n->toBytes(true),
'publicExponent' => $e->toBytes(true)
);
];
$components = array(
$components = [
'modulus' => pack('Ca*a*', 2, ASN1::encodeLength(strlen($components['modulus'])), $components['modulus']),
'publicExponent' => pack('Ca*a*', 2, ASN1::encodeLength(strlen($components['publicExponent'])), $components['publicExponent'])
);
];
$RSAPublicKey = pack(
'Ca*a*a*',
@ -1646,16 +1646,16 @@ class BigInteger
if (empty($e->value)) {
$temp = new static();
$temp->value = array(1);
$temp->value = [1];
return $this->_normalize($temp);
}
if ($e->value == array(1)) {
if ($e->value == [1]) {
list(, $temp) = $this->divide($n);
return $this->_normalize($temp);
}
if ($e->value == array(2)) {
if ($e->value == [2]) {
$temp = new static();
$temp->value = self::_square($this->value);
list(, $temp) = $temp->divide($n);
@ -1689,10 +1689,10 @@ class BigInteger
$mod1 = clone $n;
$mod1->_rshift($j);
$mod2 = new static();
$mod2->value = array(1);
$mod2->value = [1];
$mod2->_lshift($j);
$part1 = ($mod1->value != array(1)) ? $this->_slidingWindow($e, $mod1, self::MONTGOMERY) : new static();
$part1 = ($mod1->value != [1]) ? $this->_slidingWindow($e, $mod1, self::MONTGOMERY) : new static();
$part2 = $this->_slidingWindow($e, $mod2, self::POWEROF2);
$y1 = $mod2->modInverse($mod1);
@ -1741,8 +1741,8 @@ class BigInteger
*/
function _slidingWindow($e, $n, $mode)
{
static $window_ranges = array(7, 25, 81, 241, 673, 1793); // from BigInteger.java's oddModPow function
//static $window_ranges = array(0, 7, 36, 140, 450, 1303, 3529); // from MPM 7.3.1
static $window_ranges = [7, 25, 81, 241, 673, 1793]; // from BigInteger.java's oddModPow function
//static $window_ranges = [0, 7, 36, 140, 450, 1303, 3529]; // from MPM 7.3.1
$e_value = $e->value;
$e_length = count($e_value) - 1;
@ -1761,7 +1761,7 @@ class BigInteger
$n_value = $n->value;
// precompute $this^0 through $this^$window_size
$powers = array();
$powers = [];
$powers[1] = self::_prepareReduce($this->value, $n_value, $mode);
$powers[2] = self::_squareReduce($powers[1], $n_value, $mode);
@ -1773,7 +1773,7 @@ class BigInteger
$powers[$i2 + 1] = self::_multiplyReduce($powers[$i2 - 1], $powers[2], $n_value, $mode);
}
$result = array(1);
$result = [1];
$result = self::_prepareReduce($result, $n_value, $mode);
for ($i = 0; $i < $e_length;) {
@ -1913,7 +1913,7 @@ class BigInteger
function _mod2($n)
{
$temp = new static();
$temp->value = array(1);
$temp->value = [1];
return $this->bitwise_and($n->subtract($temp));
}
@ -1943,10 +1943,10 @@ class BigInteger
*/
static function _barrett($n, $m)
{
static $cache = array(
self::VARIABLE => array(),
self::DATA => array()
);
static $cache = [
self::VARIABLE => [],
self::DATA => []
];
$m_length = count($m);
@ -1982,10 +1982,10 @@ class BigInteger
$u = $u->value;
$m1 = $m1->value;
$cache[self::DATA][] = array(
$cache[self::DATA][] = [
'u' => $u, // m.length >> 1 (technically (m.length >> 1) + 1)
'm1'=> $m1 // m.length
);
];
} else {
extract($cache[self::DATA][$key]);
}
@ -2040,10 +2040,10 @@ class BigInteger
*/
static function _regularBarrett($x, $n)
{
static $cache = array(
self::VARIABLE => array(),
self::DATA => array()
);
static $cache = [
self::VARIABLE => [],
self::DATA => []
];
$n_length = count($n);
@ -2118,10 +2118,10 @@ class BigInteger
$y_length = count($y_value);
if (!$x_length || !$y_length) { // a 0 is being multiplied
return array(
self::VALUE => array(),
return [
self::VALUE => [],
self::SIGN => false
);
];
}
if ($x_length < $y_length) {
@ -2170,10 +2170,10 @@ class BigInteger
}
}
return array(
return [
self::VALUE => self::_trim($product_value),
self::SIGN => $x_negative != $y_negative
);
];
}
/**
@ -2193,10 +2193,10 @@ class BigInteger
*/
static function _montgomery($x, $n)
{
static $cache = array(
self::VARIABLE => array(),
self::DATA => array()
);
static $cache = [
self::VARIABLE => [],
self::DATA => []
];
if (($key = array_search($n, $cache[self::VARIABLE])) === false) {
$key = count($cache[self::VARIABLE]);
@ -2206,12 +2206,12 @@ class BigInteger
$k = count($n);
$result = array(self::VALUE => $x);
$result = [self::VALUE => $x];
for ($i = 0; $i < $k; ++$i) {
$temp = $result[self::VALUE][$i] * $cache[self::DATA][$key];
$temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31));
$temp = self::_regularMultiply(array($temp), $n);
$temp = self::_regularMultiply([$temp], $n);
$temp = array_merge($this->_array_repeat(0, $i), $temp);
$result = self::_add($result[self::VALUE], false, $temp, false);
}
@ -2249,10 +2249,10 @@ class BigInteger
// perform better under different circumstances. in lieu of deleting it it's just been
// made uncallable
static $cache = array(
self::VARIABLE => array(),
self::DATA => array()
);
static $cache = [
self::VARIABLE => [],
self::DATA => []
];
if (($key = array_search($m, $cache[self::VARIABLE])) === false) {
$key = count($cache[self::VARIABLE]);
@ -2264,13 +2264,13 @@ class BigInteger
$x = array_pad($x, $n, 0);
$y = array_pad($y, $n, 0);
$m = array_pad($m, $n, 0);
$a = array(self::VALUE => self::_array_repeat(0, $n + 1));
$a = [self::VALUE => self::_array_repeat(0, $n + 1)];
for ($i = 0; $i < $n; ++$i) {
$temp = $a[self::VALUE][0] + $x[$i] * $y[0];
$temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31));
$temp = $temp * $cache[self::DATA][$key];
$temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31));
$temp = self::_add(self::_regularMultiply(array($x[$i]), $y), false, self::_regularMultiply(array($temp), $m), false);
$temp = self::_add(self::_regularMultiply([$x[$i]], $y), false, self::_regularMultiply([$temp], $m), false);
$a = self::_add($a[self::VALUE], false, $temp[self::VALUE], false);
$a[self::VALUE] = array_slice($a[self::VALUE], 1);
}
@ -2435,11 +2435,11 @@ class BigInteger
case self::MODE_GMP:
extract(gmp_gcdext($this->value, $n->value));
return array(
return [
'gcd' => $this->_normalize(new static($g)),
'x' => $this->_normalize(new static($s)),
'y' => $this->_normalize(new static($t))
);
];
case self::MODE_BCMATH:
// it might be faster to use the binary xGCD algorithim here, as well, but (1) that algorithim works
// best when the base is a power of 2 and (2) i don't think it'd make much difference, anyway. as is,
@ -2469,17 +2469,17 @@ class BigInteger
$d = bcsub($temp, bcmul($b, $q, 0), 0);
}
return array(
return [
'gcd' => $this->_normalize(new static($u)),
'x' => $this->_normalize(new static($a)),
'y' => $this->_normalize(new static($b))
);
];
}
$y = clone $n;
$x = clone $this;
$g = new static();
$g->value = array(1);
$g->value = [1];
while (!(($x->value[0] & 1)|| ($y->value[0] & 1))) {
$x->_rshift(1);
@ -2495,8 +2495,8 @@ class BigInteger
$c = new static();
$d = new static();
$a->value = $d->value = $g->value = array(1);
$b->value = $c->value = array();
$a->value = $d->value = $g->value = [1];
$b->value = $c->value = [];
while (!empty($u->value)) {
while (!($u->value[0] & 1)) {
@ -2530,11 +2530,11 @@ class BigInteger
}
}
return array(
return [
'gcd' => $this->_normalize($g->multiply($v)),
'x' => $this->_normalize($c),
'y' => $this->_normalize($d)
);
];
}
/**
@ -3029,10 +3029,10 @@ class BigInteger
} else {
$min[0] = chr(0x80);
}
return array(
return [
'min' => new static($min, 256),
'max' => new static($max, 256)
);
];
}
/**
@ -3295,7 +3295,7 @@ class BigInteger
}
break;
default:
if ($this->value == array(2)) {
if ($this->value == [2]) {
return true;
}
if (~$this->value[0] & 1) {
@ -3306,7 +3306,7 @@ class BigInteger
static $primes, $zero, $one, $two;
if (!isset($primes)) {
$primes = array(
$primes = [
3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59,
61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137,
139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227,
@ -3318,7 +3318,7 @@ class BigInteger
733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829,
839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947,
953, 967, 971, 977, 983, 991, 997
);
];
if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) {
for ($i = 0; $i < count($primes); ++$i) {
@ -3550,7 +3550,7 @@ class BigInteger
*/
static function _array_repeat($input, $multiplier)
{
return ($multiplier) ? array_fill(0, $multiplier, $input) : array();
return ($multiplier) ? array_fill(0, $multiplier, $input) : [];
}
/**

View File

@ -96,7 +96,7 @@ class SFTP extends SSH2
* @var array
* @access private
*/
var $packet_types = array();
var $packet_types = [];
/**
* Status Codes
@ -105,7 +105,7 @@ class SFTP extends SSH2
* @var array
* @access private
*/
var $status_codes = array();
var $status_codes = [];
/**
* The Request ID
@ -147,7 +147,7 @@ class SFTP extends SSH2
* @see self::_initChannel()
* @access private
*/
var $extensions = array();
var $extensions = [];
/**
* Server SFTP version
@ -175,7 +175,7 @@ class SFTP extends SSH2
* @var array
* @access private
*/
var $packet_type_log = array();
var $packet_type_log = [];
/**
* Packet Log
@ -184,7 +184,7 @@ class SFTP extends SSH2
* @var array
* @access private
*/
var $packet_log = array();
var $packet_log = [];
/**
* Error information
@ -194,7 +194,7 @@ class SFTP extends SSH2
* @var string
* @access private
*/
var $sftp_errors = array();
var $sftp_errors = [];
/**
* Stat Cache
@ -208,7 +208,7 @@ class SFTP extends SSH2
* @var array
* @access private
*/
var $stat_cache = array();
var $stat_cache = [];
/**
* Max SFTP Packet Size
@ -238,7 +238,7 @@ class SFTP extends SSH2
* @var array
* @access private
*/
var $sortOptions = array();
var $sortOptions = [];
/**
* Default Constructor.
@ -257,7 +257,7 @@ class SFTP extends SSH2
$this->max_sftp_packet = 1 << 15;
$this->packet_types = array(
$this->packet_types = [
1 => 'NET_SFTP_INIT',
2 => 'NET_SFTP_VERSION',
/* the format of SSH_FXP_OPEN changed between SFTPv4 and SFTPv5+:
@ -293,8 +293,8 @@ class SFTP extends SSH2
105=> 'NET_SFTP_ATTRS',
200=> 'NET_SFTP_EXTENDED'
);
$this->status_codes = array(
];
$this->status_codes = [
0 => 'NET_SFTP_STATUS_OK',
1 => 'NET_SFTP_STATUS_EOF',
2 => 'NET_SFTP_STATUS_NO_SUCH_FILE',
@ -327,10 +327,10 @@ class SFTP extends SSH2
29 => 'NET_SFTP_STATUS_OWNER_INVALID',
30 => 'NET_SFTP_STATUS_GROUP_INVALID',
31 => 'NET_SFTP_STATUS_NO_MATCHING_BYTE_RANGE_LOCK'
);
];
// http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-7.1
// the order, in this case, matters quite a lot - see \phpseclib\Net\SFTP::_parseAttributes() to understand why
$this->attributes = array(
$this->attributes = [
0x00000001 => 'NET_SFTP_ATTR_SIZE',
0x00000002 => 'NET_SFTP_ATTR_UIDGID', // defined in SFTPv3, removed in SFTPv4+
0x00000004 => 'NET_SFTP_ATTR_PERMISSIONS',
@ -340,21 +340,21 @@ class SFTP extends SSH2
// two's compliment, consists of all 1 bits) by 31. on 64-bit systems this'll yield 0xFFFFFFFF80000000.
// that's not a problem, however, and 'anded' and a 32-bit number, as all the leading 1 bits are ignored.
-1 << 31 => 'NET_SFTP_ATTR_EXTENDED'
);
];
// http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-6.3
// the flag definitions change somewhat in SFTPv5+. if SFTPv5+ support is added to this library, maybe name
// the array for that $this->open5_flags and similarly alter the constant names.
$this->open_flags = array(
$this->open_flags = [
0x00000001 => 'NET_SFTP_OPEN_READ',
0x00000002 => 'NET_SFTP_OPEN_WRITE',
0x00000004 => 'NET_SFTP_OPEN_APPEND',
0x00000008 => 'NET_SFTP_OPEN_CREATE',
0x00000010 => 'NET_SFTP_OPEN_TRUNCATE',
0x00000020 => 'NET_SFTP_OPEN_EXCL'
);
];
// http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2
// see \phpseclib\Net\SFTP::_parseLongname() for an explanation
$this->file_types = array(
$this->file_types = [
1 => 'NET_SFTP_TYPE_REGULAR',
2 => 'NET_SFTP_TYPE_DIRECTORY',
3 => 'NET_SFTP_TYPE_SYMLINK',
@ -366,7 +366,7 @@ class SFTP extends SSH2
7 => 'NET_SFTP_TYPE_CHAR_DEVICE',
8 => 'NET_SFTP_TYPE_BLOCK_DEVICE',
9 => 'NET_SFTP_TYPE_FIFO'
);
];
$this->_define_array(
$this->packet_types,
$this->status_codes,
@ -535,7 +535,7 @@ class SFTP extends SSH2
$this->pwd = $this->_realpath('.');
$this->_update_stat_cache($this->pwd, array());
$this->_update_stat_cache($this->pwd, []);
return true;
}
@ -567,7 +567,7 @@ class SFTP extends SSH2
*/
function clearStatCache()
{
$this->stat_cache = array();
$this->stat_cache = [];
}
/**
@ -661,7 +661,7 @@ class SFTP extends SSH2
}
$path = explode('/', $path);
$new = array();
$new = [];
foreach ($path as $dir) {
if (!strlen($dir)) {
continue;
@ -735,7 +735,7 @@ class SFTP extends SSH2
return false;
}
$this->_update_stat_cache($dir, array());
$this->_update_stat_cache($dir, []);
$this->pwd = $dir;
return true;
@ -771,7 +771,7 @@ class SFTP extends SSH2
return $files;
}
$result = array();
$result = [];
foreach ($files as $value) {
if ($value == '.' || $value == '..') {
if ($relativeDir == '') {
@ -865,9 +865,9 @@ class SFTP extends SSH2
throw new \UnexpectedValueException('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS');
}
$this->_update_stat_cache($dir, array());
$this->_update_stat_cache($dir, []);
$contents = array();
$contents = [];
while (true) {
// http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.2.2
// why multiple SSH_FXP_READDIR packets would be sent when the response to a single one can span arbitrarily many
@ -892,17 +892,17 @@ class SFTP extends SSH2
$attributes['type'] = $fileType;
}
}
$contents[$shortname] = $attributes + array('filename' => $shortname);
$contents[$shortname] = $attributes + ['filename' => $shortname];
if (isset($attributes['type']) && $attributes['type'] == NET_SFTP_TYPE_DIRECTORY && ($shortname != '.' && $shortname != '..')) {
$this->_update_stat_cache($dir . '/' . $shortname, array());
$this->_update_stat_cache($dir . '/' . $shortname, []);
} else {
if ($shortname == '..') {
$temp = $this->_realpath($dir . '/..') . '/.';
} else {
$temp = $dir . '/' . $shortname;
}
$this->_update_stat_cache($temp, (object) array('lstat' => $attributes));
$this->_update_stat_cache($temp, (object) ['lstat' => $attributes]);
}
// SFTPv6 has an optional boolean end-of-list field, but we'll ignore that, since the
// final SSH_FXP_STATUS packet should tell us that, already.
@ -925,7 +925,7 @@ class SFTP extends SSH2
}
if (count($this->sortOptions)) {
uasort($contents, array(&$this, '_comparator'));
uasort($contents, [&$this, '_comparator']);
}
return $raw ? $contents : array_keys($contents);
@ -1017,7 +1017,7 @@ class SFTP extends SSH2
*/
function setListOrder()
{
$this->sortOptions = array();
$this->sortOptions = [];
$args = func_get_args();
if (empty($args)) {
return;
@ -1027,7 +1027,7 @@ class SFTP extends SSH2
$this->sortOptions[$args[$i]] = $args[$i + 1];
}
if (!count($this->sortOptions)) {
$this->sortOptions = array('bogus' => true);
$this->sortOptions = ['bogus' => true];
}
}
@ -1076,10 +1076,10 @@ class SFTP extends SSH2
// 1. a file was deleted and changed to a directory behind phpseclib's back
// 2. it's a symlink. when lstat is done it's unclear what it's a symlink to
if (is_object($temp)) {
$temp = array();
$temp = [];
}
if (!isset($temp[$dir])) {
$temp[$dir] = array();
$temp[$dir] = [];
}
if ($i === $max) {
if (is_object($temp[$dir])) {
@ -1184,7 +1184,7 @@ class SFTP extends SSH2
if ($stat['type'] == NET_SFTP_TYPE_DIRECTORY) {
$filename.= '/.';
}
$this->_update_stat_cache($filename, (object) array('stat' => $stat));
$this->_update_stat_cache($filename, (object) ['stat' => $stat]);
return $stat;
}
@ -1197,7 +1197,7 @@ class SFTP extends SSH2
if ($stat['type'] == NET_SFTP_TYPE_DIRECTORY) {
$filename.= '/.';
}
$this->_update_stat_cache($filename, (object) array('stat' => $stat));
$this->_update_stat_cache($filename, (object) ['stat' => $stat]);
return $stat;
}
@ -1241,15 +1241,15 @@ class SFTP extends SSH2
if ($lstat['type'] == NET_SFTP_TYPE_DIRECTORY) {
$filename.= '/.';
}
$this->_update_stat_cache($filename, (object) array('lstat' => $lstat));
$this->_update_stat_cache($filename, (object) ['lstat' => $lstat]);
return $lstat;
}
$stat = $this->_stat($filename, NET_SFTP_STAT);
if ($lstat != $stat) {
$lstat = array_merge($lstat, array('type' => NET_SFTP_TYPE_SYMLINK));
$this->_update_stat_cache($filename, (object) array('lstat' => $lstat));
$lstat = array_merge($lstat, ['type' => NET_SFTP_TYPE_SYMLINK]);
$this->_update_stat_cache($filename, (object) ['lstat' => $lstat]);
return $stat;
}
@ -1262,7 +1262,7 @@ class SFTP extends SSH2
if ($lstat['type'] == NET_SFTP_TYPE_DIRECTORY) {
$filename.= '/.';
}
$this->_update_stat_cache($filename, (object) array('lstat' => $lstat));
$this->_update_stat_cache($filename, (object) ['lstat' => $lstat]);
return $lstat;
}
@ -2652,7 +2652,7 @@ class SFTP extends SSH2
*/
function _parseAttributes(&$response)
{
$attr = array();
$attr = [];
extract(unpack('Nflags', Strings::shift($response, 4)));
// SFTPv4+ have a type field (a byte) that follows the above flag field
foreach ($this->attributes as $key => $value) {
@ -2673,10 +2673,10 @@ class SFTP extends SSH2
$attr+= unpack('Npermissions', Strings::shift($response, 4));
// mode == permissions; permissions was the original array key and is retained for bc purposes.
// mode was added because that's the more industry standard terminology
$attr+= array('mode' => $attr['permissions']);
$attr+= ['mode' => $attr['permissions']];
$fileType = $this->_parseMode($attr['permissions']);
if ($fileType !== false) {
$attr+= array('type' => $fileType);
$attr+= ['type' => $fileType];
}
break;
case NET_SFTP_ATTR_ACCESSTIME: // 0x00000008
@ -2797,7 +2797,7 @@ class SFTP extends SSH2
$packet_type = '-> ' . $this->packet_types[$type] .
' (' . round($stop - $start, 4) . 's)';
if (NET_SFTP_LOGGING == self::LOG_REALTIME) {
echo "<pre>\r\n" . $this->_format_log(array($data), array($packet_type)) . "\r\n</pre>\r\n";
echo "<pre>\r\n" . $this->_format_log([$data], [$packet_type]) . "\r\n</pre>\r\n";
flush();
ob_flush();
} else {
@ -2873,7 +2873,7 @@ class SFTP extends SSH2
$packet_type = '<- ' . $this->packet_types[$this->packet_type] .
' (' . round($stop - $start, 4) . 's)';
if (NET_SFTP_LOGGING == self::LOG_REALTIME) {
echo "<pre>\r\n" . $this->_format_log(array($packet), array($packet_type)) . "\r\n</pre>\r\n";
echo "<pre>\r\n" . $this->_format_log([$packet], [$packet_type]) . "\r\n</pre>\r\n";
flush();
ob_flush();
} else {
@ -2941,7 +2941,7 @@ class SFTP extends SSH2
*/
function getSupportedVersions()
{
$temp = array('version' => $this->version);
$temp = ['version' => $this->version];
if (isset($this->extensions['versions'])) {
$temp['extensions'] = $this->extensions['versions'];
}

View File

@ -155,7 +155,7 @@ class Stream
function _parse_path($path)
{
$orig = $path;
extract(parse_url($path) + array('port' => 22));
extract(parse_url($path) + ['port' => 22]);
if (isset($query)) {
$path.= '?' . $query;
} elseif (preg_match('/(\?|\?#)$/', $orig)) {
@ -790,6 +790,6 @@ class Stream
if (!method_exists($this, $name)) {
return false;
}
return call_user_func_array(array($this, $name), $arguments);
return call_user_func_array([$this, $name], $arguments);
}
}

View File

@ -311,7 +311,7 @@ class SSH1
* @var array
* @access private
*/
var $supported_ciphers = array(
var $supported_ciphers = [
self::CIPHER_NONE => 'No encryption',
self::CIPHER_IDEA => 'IDEA in CFB mode',
self::CIPHER_DES => 'DES in CBC mode',
@ -319,7 +319,7 @@ class SSH1
self::CIPHER_BROKEN_TSS => 'TRI\'s Simple Stream encryption CBC',
self::CIPHER_RC4 => 'RC4',
self::CIPHER_BLOWFISH => 'Blowfish'
);
];
/**
* Supported Authentications
@ -330,12 +330,12 @@ class SSH1
* @var array
* @access private
*/
var $supported_authentications = array(
var $supported_authentications = [
self::AUTH_RHOSTS => '.rhosts or /etc/hosts.equiv',
self::AUTH_RSA => 'pure RSA authentication',
self::AUTH_PASSWORD => 'password authentication',
self::AUTH_RHOSTS_RSA => '.rhosts with RSA host authentication'
);
];
/**
* Server Identification
@ -353,7 +353,7 @@ class SSH1
* @var array
* @access private
*/
var $protocol_flags = array();
var $protocol_flags = [];
/**
* Protocol Flag Log
@ -362,7 +362,7 @@ class SSH1
* @var array
* @access private
*/
var $protocol_flag_log = array();
var $protocol_flag_log = [];
/**
* Message Log
@ -371,7 +371,7 @@ class SSH1
* @var array
* @access private
*/
var $message_log = array();
var $message_log = [];
/**
* Real-time log file pointer
@ -508,7 +508,7 @@ class SSH1
*/
function __construct($host, $port = 22, $timeout = 10, $cipher = self::CIPHER_3DES)
{
$this->protocol_flags = array(
$this->protocol_flags = [
1 => 'NET_SSH1_MSG_DISCONNECT',
2 => 'NET_SSH1_SMSG_PUBLIC_KEY',
3 => 'NET_SSH1_CMSG_SESSION_KEY',
@ -525,7 +525,7 @@ class SSH1
19 => 'NET_SSH1_CMSG_EOF',
20 => 'NET_SSH1_SMSG_EXITSTATUS',
33 => 'NET_SSH1_CMSG_EXIT_CONFIRMATION'
);
];
$this->_define_array($this->protocol_flags);
@ -619,32 +619,32 @@ class SSH1
if ($server_key_public_modulus->compare($host_key_public_modulus) < 0) {
$double_encrypted_session_key = $this->_rsa_crypt(
$double_encrypted_session_key,
array(
[
$server_key_public_exponent,
$server_key_public_modulus
)
]
);
$double_encrypted_session_key = $this->_rsa_crypt(
$double_encrypted_session_key,
array(
[
$host_key_public_exponent,
$host_key_public_modulus
)
]
);
} else {
$double_encrypted_session_key = $this->_rsa_crypt(
$double_encrypted_session_key,
array(
[
$host_key_public_exponent,
$host_key_public_modulus
)
]
);
$double_encrypted_session_key = $this->_rsa_crypt(
$double_encrypted_session_key,
array(
[
$server_key_public_exponent,
$server_key_public_modulus
)
]
);
}
@ -984,7 +984,7 @@ class SSH1
throw new \RuntimeException('Unable to initiate an interactive shell session');
}
$read = array($this->fsock);
$read = [$this->fsock];
$write = $except = null;
if (stream_select($read, $write, $except, 0)) {
$response = $this->_get_binary_packet();
@ -1031,7 +1031,7 @@ class SSH1
/*
$response = $this->_get_binary_packet();
if ($response === true) {
$response = array(self::RESPONSE_TYPE => -1);
$response = [self::RESPONSE_TYPE => -1];
}
switch ($response[self::RESPONSE_TYPE]) {
case NET_SSH1_SMSG_EXITSTATUS:
@ -1069,7 +1069,7 @@ class SSH1
}
if ($this->curTimeout) {
$read = array($this->fsock);
$read = [$this->fsock];
$write = $except = null;
$start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838
@ -1122,10 +1122,10 @@ class SSH1
$this->_append_log($temp, $data);
}
return array(
return [
self::RESPONSE_TYPE => $type,
self::RESPONSE_DATA => $data
);
];
}
/**
@ -1188,7 +1188,7 @@ class SSH1
*/
function _crc($data)
{
static $crc_lookup_table = array(
static $crc_lookup_table = [
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
@ -1253,7 +1253,7 @@ class SSH1
0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D
);
];
// For this function to yield the same output as PHP's crc32 function, $crc would have to be
// set to 0xFFFFFFFF, initially - not 0x00000000 as it currently is.
@ -1394,7 +1394,7 @@ class SSH1
$output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 ';
}
$fragment = Strings::shift($current_log, $this->log_short_width);
$hex = substr(preg_replace_callback('#.#s', array($this, '_format_log_helper'), $fragment), strlen($this->log_boundary));
$hex = substr(preg_replace_callback('#.#s', [$this, '_format_log_helper'], $fragment), strlen($this->log_boundary));
// replace non ASCII printable characters with dots
// http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
// also replace < with a . since < messes up the output on web browsers
@ -1486,8 +1486,8 @@ class SSH1
* Return a list of ciphers supported by SSH1 server.
*
* Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output
* is set to true, returns, instead, an array of constants. ie. instead of array('Triple-DES in CBC mode'), you'll
* get array(self::CIPHER_3DES).
* is set to true, returns, instead, an array of constants. ie. instead of ['Triple-DES in CBC mode'], you'll
* get [self::CIPHER_3DES].
*
* @param bool $raw_output
* @return array
@ -1502,8 +1502,8 @@ class SSH1
* Return a list of authentications supported by SSH1 server.
*
* Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output
* is set to true, returns, instead, an array of constants. ie. instead of array('password authentication'), you'll
* get array(self::AUTH_PASSWORD).
* is set to true, returns, instead, an array of constants. ie. instead of ['password authentication'], you'll
* get [self::AUTH_PASSWORD].
*
* @param bool $raw_output
* @return array
@ -1555,7 +1555,7 @@ class SSH1
// passwords won't be filtered out and select other packets may not be correctly
// identified
case self::LOG_REALTIME:
echo "<pre>\r\n" . $this->_format_log(array($message), array($protocol_flags)) . "\r\n</pre>\r\n";
echo "<pre>\r\n" . $this->_format_log([$message], [$protocol_flags]) . "\r\n</pre>\r\n";
@flush();
@ob_flush();
break;
@ -1573,7 +1573,7 @@ class SSH1
if (!is_resource($this->realtime_log_file)) {
break;
}
$entry = $this->_format_log(array($message), array($protocol_flags));
$entry = $this->_format_log([$message], [$protocol_flags]);
if ($this->realtime_log_wrap) {
$temp = "<<< START >>>\r\n";
$entry.= $temp;

View File

@ -184,7 +184,7 @@ class SSH2
* @var string
* @access private
*/
var $errors = array();
var $errors = [];
/**
* Server Identifier
@ -430,7 +430,7 @@ class SSH2
* @var array
* @access private
*/
var $message_numbers = array();
var $message_numbers = [];
/**
* Disconnection Message 'reason codes' defined in RFC4253
@ -439,7 +439,7 @@ class SSH2
* @var array
* @access private
*/
var $disconnect_reasons = array();
var $disconnect_reasons = [];
/**
* SSH_MSG_CHANNEL_OPEN_FAILURE 'reason codes', defined in RFC4254
@ -448,7 +448,7 @@ class SSH2
* @var array
* @access private
*/
var $channel_open_failure_reasons = array();
var $channel_open_failure_reasons = [];
/**
* Terminal Modes
@ -458,7 +458,7 @@ class SSH2
* @var array
* @access private
*/
var $terminal_modes = array();
var $terminal_modes = [];
/**
* SSH_MSG_CHANNEL_EXTENDED_DATA's data_type_codes
@ -468,7 +468,7 @@ class SSH2
* @var array
* @access private
*/
var $channel_extended_data_type_codes = array();
var $channel_extended_data_type_codes = [];
/**
* Send Sequence Number
@ -502,7 +502,7 @@ class SSH2
* @var array
* @access private
*/
var $server_channels = array();
var $server_channels = [];
/**
* Channel Buffers
@ -515,7 +515,7 @@ class SSH2
* @var array
* @access private
*/
var $channel_buffers = array();
var $channel_buffers = [];
/**
* Channel Status
@ -526,7 +526,7 @@ class SSH2
* @var array
* @access private
*/
var $channel_status = array();
var $channel_status = [];
/**
* Packet Size
@ -537,7 +537,7 @@ class SSH2
* @var array
* @access private
*/
var $packet_size_client_to_server = array();
var $packet_size_client_to_server = [];
/**
* Message Number Log
@ -546,7 +546,7 @@ class SSH2
* @var array
* @access private
*/
var $message_number_log = array();
var $message_number_log = [];
/**
* Message Log
@ -555,7 +555,7 @@ class SSH2
* @var array
* @access private
*/
var $message_log = array();
var $message_log = [];
/**
* The Window Size
@ -578,7 +578,7 @@ class SSH2
* @var array
* @access private
*/
var $window_size_server_to_client = array();
var $window_size_server_to_client = [];
/**
* Window size, client to server
@ -589,7 +589,7 @@ class SSH2
* @var array
* @access private
*/
var $window_size_client_to_server = array();
var $window_size_client_to_server = [];
/**
* Server signature
@ -758,7 +758,7 @@ class SSH2
* @var array
* @access private
*/
var $keyboard_requests_responses = array();
var $keyboard_requests_responses = [];
/**
* Banner Message
@ -891,7 +891,7 @@ class SSH2
*/
function __construct($host, $port = 22, $timeout = 10)
{
$this->message_numbers = array(
$this->message_numbers = [
1 => 'NET_SSH2_MSG_DISCONNECT',
2 => 'NET_SSH2_MSG_IGNORE',
3 => 'NET_SSH2_MSG_UNIMPLEMENTED',
@ -921,8 +921,8 @@ class SSH2
98 => 'NET_SSH2_MSG_CHANNEL_REQUEST',
99 => 'NET_SSH2_MSG_CHANNEL_SUCCESS',
100 => 'NET_SSH2_MSG_CHANNEL_FAILURE'
);
$this->disconnect_reasons = array(
];
$this->disconnect_reasons = [
1 => 'NET_SSH2_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT',
2 => 'NET_SSH2_DISCONNECT_PROTOCOL_ERROR',
3 => 'NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED',
@ -938,16 +938,16 @@ class SSH2
13 => 'NET_SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER',
14 => 'NET_SSH2_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE',
15 => 'NET_SSH2_DISCONNECT_ILLEGAL_USER_NAME'
);
$this->channel_open_failure_reasons = array(
];
$this->channel_open_failure_reasons = [
1 => 'NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED'
);
$this->terminal_modes = array(
];
$this->terminal_modes = [
0 => 'NET_SSH2_TTY_OP_END'
);
$this->channel_extended_data_type_codes = array(
];
$this->channel_extended_data_type_codes = [
1 => 'NET_SSH2_EXTENDED_DATA_STDERR'
);
];
$this->_define_array(
$this->message_numbers,
@ -955,19 +955,19 @@ class SSH2
$this->channel_open_failure_reasons,
$this->terminal_modes,
$this->channel_extended_data_type_codes,
array(60 => 'NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ'),
array(60 => 'NET_SSH2_MSG_USERAUTH_PK_OK'),
array(60 => 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST',
61 => 'NET_SSH2_MSG_USERAUTH_INFO_RESPONSE'),
[60 => 'NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ'],
[60 => 'NET_SSH2_MSG_USERAUTH_PK_OK'],
[60 => 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST',
61 => 'NET_SSH2_MSG_USERAUTH_INFO_RESPONSE'],
// RFC 4419 - diffie-hellman-group-exchange-sha{1,256}
array(30 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST_OLD',
[30 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST_OLD',
31 => 'NET_SSH2_MSG_KEXDH_GEX_GROUP',
32 => 'NET_SSH2_MSG_KEXDH_GEX_INIT',
33 => 'NET_SSH2_MSG_KEXDH_GEX_REPLY',
34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST'),
34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST'],
// RFC 5656 - Elliptic Curves (for curve25519-sha256@libssh.org)
array(30 => 'NET_SSH2_MSG_KEX_ECDH_INIT',
31 => 'NET_SSH2_MSG_KEX_ECDH_REPLY')
[30 => 'NET_SSH2_MSG_KEX_ECDH_INIT',
31 => 'NET_SSH2_MSG_KEX_ECDH_REPLY']
);
self::$connections[$this->getResourceId()] = $this;
@ -1055,7 +1055,7 @@ class SSH2
$this->is_timeout = true;
return false;
}
$read = array($this->fsock);
$read = [$this->fsock];
$write = $except = null;
$start = microtime(true);
$sec = floor($this->curTimeout);
@ -1143,7 +1143,7 @@ class SSH2
{
$identifier = 'SSH-2.0-phpseclib_2.0';
$ext = array();
$ext = [];
if (extension_loaded('libsodium')) {
$ext[] = 'libsodium';
}
@ -1178,7 +1178,7 @@ class SSH2
*/
function _key_exchange($kexinit_payload_server)
{
$kex_algorithms = array(
$kex_algorithms = [
// Elliptic Curve Diffie-Hellman Key Agreement (ECDH) using
// Curve25519. See doc/curve25519-sha256@libssh.org.txt in the
// libssh repository for more information.
@ -1190,20 +1190,20 @@ class SSH2
'diffie-hellman-group14-sha1', // REQUIRED
'diffie-hellman-group-exchange-sha1', // RFC 4419
'diffie-hellman-group-exchange-sha256', // RFC 4419
);
];
if (!function_exists('\\Sodium\\library_version_major')) {
$kex_algorithms = array_diff(
$kex_algorithms,
array('curve25519-sha256@libssh.org')
['curve25519-sha256@libssh.org']
);
}
$server_host_key_algorithms = array(
$server_host_key_algorithms = [
'ssh-rsa', // RECOMMENDED sign Raw RSA Key
'ssh-dss' // REQUIRED sign Raw DSS Key
);
];
$encryption_algorithms = array(
$encryption_algorithms = [
// from <http://tools.ietf.org/html/rfc4345#section-4>:
'arcfour256',
'arcfour128',
@ -1237,50 +1237,50 @@ class SSH2
'3des-cbc', // REQUIRED three-key 3DES in CBC mode
//'none' // OPTIONAL no encryption; NOT RECOMMENDED
);
];
if (extension_loaded('openssl') && !extension_loaded('mcrypt')) {
// OpenSSL does not support arcfour256 in any capacity and arcfour128 / arcfour support is limited to
// instances that do not use continuous buffers
$encryption_algorithms = array_diff(
$encryption_algorithms,
array('arcfour256', 'arcfour128', 'arcfour')
['arcfour256', 'arcfour128', 'arcfour']
);
}
if (class_exists('\phpseclib\Crypt\RC4') === false) {
$encryption_algorithms = array_diff(
$encryption_algorithms,
array('arcfour256', 'arcfour128', 'arcfour')
['arcfour256', 'arcfour128', 'arcfour']
);
}
if (class_exists('\phpseclib\Crypt\Rijndael') === false) {
$encryption_algorithms = array_diff(
$encryption_algorithms,
array('aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc')
['aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-cbc', 'aes192-cbc', 'aes256-cbc']
);
}
if (class_exists('\phpseclib\Crypt\Twofish') === false) {
$encryption_algorithms = array_diff(
$encryption_algorithms,
array('twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc')
['twofish128-ctr', 'twofish192-ctr', 'twofish256-ctr', 'twofish128-cbc', 'twofish192-cbc', 'twofish256-cbc', 'twofish-cbc']
);
}
if (class_exists('\phpseclib\Crypt\Blowfish') === false) {
$encryption_algorithms = array_diff(
$encryption_algorithms,
array('blowfish-ctr', 'blowfish-cbc')
['blowfish-ctr', 'blowfish-cbc']
);
}
if (class_exists('\phpseclib\Crypt\TripleDES') === false) {
$encryption_algorithms = array_diff(
$encryption_algorithms,
array('3des-ctr', '3des-cbc')
['3des-ctr', '3des-cbc']
);
}
$encryption_algorithms = array_values($encryption_algorithms);
$mac_algorithms = array(
$mac_algorithms = [
// from <http://www.ietf.org/rfc/rfc6668.txt>:
'hmac-sha2-256',// RECOMMENDED HMAC-SHA256 (digest length = key length = 32)
@ -1289,19 +1289,19 @@ class SSH2
'hmac-md5-96', // OPTIONAL first 96 bits of HMAC-MD5 (digest length = 12, key length = 16)
'hmac-md5', // OPTIONAL HMAC-MD5 (digest length = key length = 16)
//'none' // OPTIONAL no MAC; NOT RECOMMENDED
);
];
$compression_algorithms = array(
$compression_algorithms = [
'none' // REQUIRED no compression
//'zlib' // OPTIONAL ZLIB (LZ77) compression
);
];
// some SSH servers have buggy implementations of some of the above algorithms
switch ($this->server_identifier) {
case 'SSH-2.0-SSHD':
$mac_algorithms = array_values(array_diff(
$mac_algorithms,
array('hmac-sha1-96', 'hmac-md5-96')
['hmac-sha1-96', 'hmac-md5-96']
));
}
@ -1882,7 +1882,7 @@ class SSH2
function login($username)
{
$args = func_get_args();
return call_user_func_array(array(&$this, '_login'), $args);
return call_user_func_array([&$this, '_login'], $args);
}
/**
@ -2274,10 +2274,10 @@ class SSH2
return false;
}
$publickey = array(
$publickey = [
'e' => $publickey['e']->toBytes(true),
'n' => $publickey['n']->toBytes(true)
);
];
$publickey = pack(
'Na*Na*Na*',
strlen('ssh-rsa'),
@ -3206,7 +3206,7 @@ class SSH2
return true;
}
$read = array($this->fsock);
$read = [$this->fsock];
$write = $except = null;
$start = microtime(true);
@ -3319,7 +3319,7 @@ class SSH2
return $data;
}
if (!isset($this->channel_buffers[$channel])) {
$this->channel_buffers[$channel] = array();
$this->channel_buffers[$channel] = [];
}
$this->channel_buffers[$channel][] = $data;
break;
@ -3340,7 +3340,7 @@ class SSH2
return $data;
}
if (!isset($this->channel_buffers[$channel])) {
$this->channel_buffers[$channel] = array();
$this->channel_buffers[$channel] = [];
}
$this->channel_buffers[$channel][] = $data;
break;
@ -3503,7 +3503,7 @@ class SSH2
$start = '<pre>';
$stop = '</pre>';
}
echo $start . $this->_format_log(array($message), array($message_number)) . $stop;
echo $start . $this->_format_log([$message], [$message_number]) . $stop;
@flush();
@ob_flush();
break;
@ -3521,7 +3521,7 @@ class SSH2
if (!is_resource($this->realtime_log_file)) {
break;
}
$entry = $this->_format_log(array($message), array($message_number));
$entry = $this->_format_log([$message], [$message_number]);
if ($this->realtime_log_wrap) {
$temp = "<<< START >>>\r\n";
$entry.= $temp;
@ -3709,7 +3709,7 @@ class SSH2
$output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 ';
}
$fragment = Strings::shift($current_log, $this->log_short_width);
$hex = substr(preg_replace_callback('#.#s', array($this, '_format_log_helper'), $fragment), strlen($this->log_boundary));
$hex = substr(preg_replace_callback('#.#s', [$this, '_format_log_helper'], $fragment), strlen($this->log_boundary));
// replace non ASCII printable characters with dots
// http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
// also replace < with a . since < messes up the output on web browsers
@ -4060,7 +4060,7 @@ class SSH2
$signature = Strings::shift($signature, $temp['length']);
$rsa = new RSA();
$rsa->load(array('e' => $e, 'n' => $n), 'raw');
$rsa->load(['e' => $e, 'n' => $n], 'raw');
$rsa->setHash('sha1');
if (!$rsa->verify($this->exchange_hash, $signature, RSA::PADDING_PKCS1)) {
//user_error('Bad server signature');

View File

@ -153,7 +153,7 @@ class Agent
function requestIdentities()
{
if (!$this->fsock) {
return array();
return [];
}
$packet = pack('NC', 1, self::SSH_AGENTC_REQUEST_IDENTITIES);
@ -167,7 +167,7 @@ class Agent
throw new \RuntimeException('Unable to request identities');
}
$identities = array();
$identities = [];
$keyCount = current(unpack('N', fread($this->fsock, 4)));
for ($i = 0; $i < $keyCount; $i++) {
$length = current(unpack('N', fread($this->fsock, 4)));