public static function setHashAlgorithm($hashAlgorithm)
 {
     self::$_HASH_ALGORITHM = (string) $hashAlgorithm;
 }
 /**
  * method to calculate md5 fingerprintstring from given fields.
  * @return md5 fingerprint hash
  * @access private
  */
 protected function _calculateFingerprint()
 {
     $fingerprintOrder = $this->_fingerprintOrder;
     if ($this->_fingerprintOrderType == self::$FINGERPRINT_TYPE_DYNAMIC) {
         //we have to add REQUESTFINGERPRINTORDER to local fingerprintOrder to add correct value to param list
         $fingerprintOrder[] = self::$REQUEST_FINGERPRINT_ORDER;
         $requestFingerprintOrder = WirecardCEE_Fingerprint::fingerprintOrderToString($fingerprintOrder);
         $this->_setField(self::$REQUEST_FINGERPRINT_ORDER, $requestFingerprintOrder);
     }
     //fingerprintFields == requestFields + secret - secret MUST NOT be send as param
     $fingerprintFields = $this->_getFingerprintFields();
     return WirecardCEE_Fingerprint::generate($fingerprintFields, $fingerprintOrder);
 }
 private function _compareFingerprints($calcFingerprint, $responseFingerprint)
 {
     $responseFingerprintOrder = $this->_fingerprintOrder;
     $responseFingerprintData = $this->_getFingerprintFields($responseFingerprintOrder);
     if (!WirecardCEE_Fingerprint::compare($responseFingerprintData, $responseFingerprintOrder, $responseFingerprint)) {
     }
     if ($responseFingerprint != $calcFingerprint) {
         throw new WirecardCEE_Client_QPay_Exception('Fingerprints do not match. calc: ' . $calcFingerprint . ' resp: ' . $responseFingerprint);
     } else {
         return true;
     }
 }