phpseclib\Crypt\TripleDES::setPreferredEngine PHP Метод

setPreferredEngine() публичный Метод

Sets the internal crypt engine
См. также: phpseclib\Crypt\Common\SymmetricKey::__construct()
См. также: phpseclib\Crypt\Common\SymmetricKey::setPreferredEngine()
public setPreferredEngine ( integer $engine ) : integer
$engine integer
Результат integer
    function setPreferredEngine($engine)
    {
        if ($this->mode_3cbc) {
            $this->des[0]->setPreferredEngine($engine);
            $this->des[1]->setPreferredEngine($engine);
            $this->des[2]->setPreferredEngine($engine);
        }
        return parent::setPreferredEngine($engine);
    }

Usage Example

Пример #1
0
 public function testInnerChaining()
 {
     // regular CBC returns
     //           e089b6d84708c6bc80be6c2da82bd19a79ffe11f02933ac1
     $expected = 'e089b6d84708c6bc6f04c8971121603d7be2861efae0f3f5';
     $des = new TripleDES(TripleDES::MODE_3CBC);
     $des->setKey('abcdefghijklmnopqrstuvwx');
     foreach ($this->engines as $engine => $engineName) {
         $des->setPreferredEngine($engine);
         if (!$des->isValidEngine($engine)) {
             self::markTestSkipped('Unable to initialize ' . $engineName . ' engine');
         }
         $result = bin2hex($des->encrypt(str_repeat('a', 16)));
         $this->assertEquals($result, $expected, "Failed asserting inner chainin worked correctly in {$engineName} engine");
     }
 }