public function setCrypt() { $this->set('crypt', function () { $crypt = new \Phalcon\Crypt(); $crypt->setMode(MCRYPT_MODE_CFB); $crypt->setKey('vJ4RIGAGg6vJ9lAD'); // Используйте свой собственный ключ! return $crypt; }); }
public function testPadding() { $texts = array(); $key = '0123456789ABCDEF0123456789ABCDEF'; $modes = array('ecb', 'cbc', 'cfb'); $pads = array(\Phalcon\Crypt::PADDING_ANSI_X_923, \Phalcon\Crypt::PADDING_PKCS7, \Phalcon\Crypt::PADDING_ISO_10126, \Phalcon\Crypt::PADDING_ISO_IEC_7816_4, \Phalcon\Crypt::PADDING_ZERO, \Phalcon\Crypt::PADDING_SPACE); for ($i = 1; $i < 128; ++$i) { $texts[] = str_repeat('A', $i); } $crypt = new \Phalcon\Crypt(); $crypt->setCipher(MCRYPT_RIJNDAEL_256)->setKey($key); foreach ($pads as $padding) { $crypt->setPadding($padding); foreach ($modes as $mode) { $crypt->setMode($mode); foreach ($texts as $text) { $encrypted = $crypt->encrypt($text); $actual = $crypt->decrypt($encrypted); $this->assertEquals($text, $actual); } } } }
}); /** * Custom mail component */ $di->set('acl', function () { return new Acl(); }); /** * Set up the security service */ $di->set('security', function () { $security = new Security(); //Set the password hashing factor to 12 rounds $security->setWorkFactor(12); return $security; }, true); /** * Set the encryption service * Key: 7}T/~"4%[GW*7O-)!"nU */ $di->setShared('crypt', function () { $crypt = new \Phalcon\Crypt(); $crypt->setMode(MCRYPT_MODE_CFB); $crypt->setKey('7}T/~"4%[GW*7O-)!"nU'); return $crypt; }); /** * Set global access to config, excluding db settings */ $di->set('config', $config); $di->get('auth');