See Release Notes
Long Term Support Release
<?php /** * Copyright 2012-2017 Horde LLC (http://www.horde.org/) * * See the enclosed file LICENSE for license information (LGPL). If you * did not receive this file, see http://www.horde.org/licenses/lgpl21. * * @author Michael Slusarz <slusarz@horde.org> * @category Horde * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Crypt_Blowfish */ /** * Openssl driver for blowfish encryption. * * @author Michael Slusarz <slusarz@horde.org> * @category Horde * @copyright 2012-2017 Horde LLC * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Crypt_Blowfish */ class Horde_Crypt_Blowfish_Openssl extends Horde_Crypt_Blowfish_Base { /** */ public static function supported() {< return extension_loaded('openssl');> if (extension_loaded('openssl')) { > $ciphers = openssl_get_cipher_methods(); > return in_array('bf-ecb', $ciphers) && in_array('bf-cbc', $ciphers); > } > > return false;} /** */ public function encrypt($text) { if (PHP_VERSION_ID <= 50302) { return @openssl_encrypt($text, 'bf-' . $this->cipher, $this->key, true); } elseif (PHP_VERSION_ID == 50303) { // Need to mask error output, since an invalid warning message was // issued prior to 5.3.4 for empty IVs in ECB mode. return @openssl_encrypt($text, 'bf-' . $this->cipher, $this->key, true, strval($this->iv)); } return openssl_encrypt($text, 'bf-' . $this->cipher, $this->key, true, strval($this->iv)); } /** */ public function decrypt($text) { return (PHP_VERSION_ID <= 50302) ? openssl_decrypt($text, 'bf-' . $this->cipher, $this->key, true) : openssl_decrypt($text, 'bf-' . $this->cipher, $this->key, true, strval($this->iv)); } }