/** * @dataProvider engineVectors */ public function testVectors($engine, $engineName, $key, $keyLen, $plaintext, $ciphertext) { $rc2 = new RC2(); $rc2->disablePadding(); $rc2->setKeyLength($keyLen); $rc2->setKey(pack('H*', $key)); // could also do $rc2->setKey(pack('H*', $key), $keyLen) if (!$rc2->isValidEngine($engine)) { self::markTestSkipped('Unable to initialize ' . $engineName . ' engine'); } $rc2->setPreferredEngine($engine); $result = bin2hex($rc2->encrypt(pack('H*', $plaintext))); $this->assertEquals($result, $ciphertext, "Failed asserting that {$plaintext} yielded expected output in {$engineName} engine"); }