Skip to content
Snippets Groups Projects
Commit 4878f7a4 authored by Thomas Müller's avatar Thomas Müller
Browse files

Merge pull request #11006 from...

Merge pull request #11006 from owncloud/addCustomHex2BinImplementationBecauseSupporting53IsSomethingReallyReallyCoolAndWeAreObviouslySomeOfTheCoolGuys

Add custom hex2bin implementation for 5.3
parents 9737ba74 1973275a
No related branches found
No related tags found
No related merge requests found
...@@ -42,6 +42,22 @@ class Crypto implements ICrypto { ...@@ -42,6 +42,22 @@ class Crypto implements ICrypto {
$this->random = $random; $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 $message The message to authenticate
* @param string $password Password to use (defaults to `secret` in config.php) * @param string $password Password to use (defaults to `secret` in config.php)
...@@ -99,9 +115,9 @@ class Crypto implements ICrypto { ...@@ -99,9 +115,9 @@ class Crypto implements ICrypto {
throw new \Exception('Authenticated ciphertext could not be decoded.'); throw new \Exception('Authenticated ciphertext could not be decoded.');
} }
$ciphertext = hex2bin($parts[0]); $ciphertext = self::hexToBin($parts[0]);
$iv = $parts[1]; $iv = $parts[1];
$hmac = hex2bin($parts[2]); $hmac = self::hexToBin($parts[2]);
$this->cipher->setIV($iv); $this->cipher->setIV($iv);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment