Skip to content
Snippets Groups Projects
Commit 1973275a authored by Lukas Reschke's avatar Lukas Reschke
Browse files

Add custom hex2bin implementation for 5.3

parent e6af67d5
No related branches found
No related tags found
Loading
......@@ -42,6 +42,22 @@ class Crypto implements ICrypto {
$this->random = $random;
}
/**
* Custom implementation of hex2bin since the function is only available starting
* with PHP 5.4
*
* @TODO Remove this once 5.3 support for ownCloud is dropped
* @param $message
* @return string
*/
protected static function hexToBin($message) {
if (function_exists('hex2bin')) {
return hex2bin($message);
}
return pack("H*", $message);
}
/**
* @param string $message The message to authenticate
* @param string $password Password to use (defaults to `secret` in config.php)
......@@ -99,9 +115,9 @@ class Crypto implements ICrypto {
throw new \Exception('Authenticated ciphertext could not be decoded.');
}
$ciphertext = hex2bin($parts[0]);
$ciphertext = self::hexToBin($parts[0]);
$iv = $parts[1];
$hmac = hex2bin($parts[2]);
$hmac = self::hexToBin($parts[2]);
$this->cipher->setIV($iv);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment