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; } }