Phalcon\Test\Legacy\CryptTest::testCryptEncryption PHP Method

testCryptEncryption() public method

Tests the encryption
Since: 2014-10-17
Author: Nikolaos Dimopoulos ([email protected])
public testCryptEncryption ( )
    public function testCryptEncryption()
    {
        $this->specify("encryption does not return correct results", function ($key, $test) {
            $modes = [MCRYPT_MODE_ECB, MCRYPT_MODE_CBC, MCRYPT_MODE_CFB, MCRYPT_MODE_OFB, MCRYPT_MODE_NOFB];
            $crypt = new Crypt();
            foreach ($modes as $mode) {
                $crypt->setMode($mode);
                $crypt->setKey(substr($key, 0, 16));
                $encryption = $crypt->encrypt($test);
                expect(rtrim($crypt->decrypt($encryption), ""))->equals($test);
                $encryption = $crypt->encrypt($test, substr($key, 0, 16));
                expect(rtrim($crypt->decrypt($encryption, substr($key, 0, 16)), ""))->equals($test);
            }
        }, ['examples' => [[md5(uniqid()), str_repeat('x', mt_rand(1, 255))], [time() . time(), str_shuffle(join('', range('a', 'z')))], ['le$ki12432543543543543', null]]]);
    }