예제 #1
0
파일: Hmac.php 프로젝트: necrogami/zf2
 /**
  * Get the supported algorithm
  *
  * @return array
  */
 public static function getSupportedAlgorithms()
 {
     if (empty(self::$supportedAlgorithms)) {
         self::$supportedAlgorithms = hash_algos();
     }
     return self::$supportedAlgorithms;
 }
예제 #2
0
파일: Hmac.php 프로젝트: brikou/zend_crypt
 /**
  * Setter for the hash method.
  *
  * @param  string $hash
  * @return void
  */
 protected static function _setHashAlgorithm($hash)
 {
     if (!isset($hash) || empty($hash)) {
         throw new HmacException('provided hash string is null or empty');
     }
     $hash = strtolower($hash);
     $hashSupported = false;
     if (function_exists('hash_algos') && in_array($hash, hash_algos())) {
         $hashSupported = true;
     }
     if ($hashSupported === false && function_exists('mhash') && in_array($hash, self::$_supportedAlgosMhash)) {
         $hashSupported = true;
     }
     if ($hashSupported === false) {
         throw new HmacException('hash algorithm provided is not supported on this PHP installation; please enable the hash or mhash extensions');
     }
     self::$_hashAlgorithm = $hash;
 }