summaryrefslogtreecommitdiffstats
path: root/Core/Util/StringUtils.php
diff options
context:
space:
mode:
authorTobias Schultze <webmaster@tubo-world.de>2015-10-29 13:12:54 +0100
committerTobias Schultze <webmaster@tubo-world.de>2015-10-29 13:12:54 +0100
commitf77c39f9f724d776f97bb8187173e0815271e55b (patch)
tree365253b833e06a31e20f00722db369c1e3343d73 /Core/Util/StringUtils.php
parentfe0053f6ff87a470547a1898b9bf36a32e73ae7e (diff)
parent7c51b1c6f08ea0bfd4a44e8d0f202c6423a39587 (diff)
downloadsymfony-security-f77c39f9f724d776f97bb8187173e0815271e55b.zip
symfony-security-f77c39f9f724d776f97bb8187173e0815271e55b.tar.gz
symfony-security-f77c39f9f724d776f97bb8187173e0815271e55b.tar.bz2
Merge branch '2.8'
Conflicts: CHANGELOG-2.3.md CHANGELOG-2.7.md composer.json src/Symfony/Bridge/Twig/composer.json src/Symfony/Bundle/FrameworkBundle/composer.json src/Symfony/Bundle/SecurityBundle/composer.json src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php src/Symfony/Component/Console/composer.json src/Symfony/Component/DomCrawler/composer.json src/Symfony/Component/Form/Tests/FormRegistryTest.php src/Symfony/Component/Form/composer.json src/Symfony/Component/HttpFoundation/composer.json src/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php src/Symfony/Component/Intl/composer.json src/Symfony/Component/Ldap/composer.json src/Symfony/Component/Security/Core/composer.json src/Symfony/Component/Security/Csrf/composer.json src/Symfony/Component/Security/Http/composer.json src/Symfony/Component/Security/composer.json src/Symfony/Component/Serializer/Encoder/JsonEncoder.php src/Symfony/Component/Serializer/composer.json src/Symfony/Component/Templating/PhpEngine.php src/Symfony/Component/Translation/composer.json src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php src/Symfony/Component/VarDumper/composer.json
Diffstat (limited to 'Core/Util/StringUtils.php')
-rw-r--r--Core/Util/StringUtils.php39
1 files changed, 8 insertions, 31 deletions
diff --git a/Core/Util/StringUtils.php b/Core/Util/StringUtils.php
index 343585c..5900812 100644
--- a/Core/Util/StringUtils.php
+++ b/Core/Util/StringUtils.php
@@ -11,10 +11,16 @@
namespace Symfony\Component\Security\Core\Util;
+@trigger_error('The '.__NAMESPACE__.'\\StringUtils class is deprecated since version 2.8 and will be removed in 3.0. Use hash_equals() instead.', E_USER_DEPRECATED);
+
+use Symfony\Component\Polyfill\Util\Binary;
+
/**
* String utility functions.
*
* @author Fabien Potencier <fabien@symfony.com>
+ *
+ * @deprecated since 2.8, to be removed in 3.0.
*/
class StringUtils
{
@@ -47,25 +53,7 @@ class StringUtils
$userInput = (string) $userInput;
}
- if (function_exists('hash_equals')) {
- return hash_equals($knownString, $userInput);
- }
-
- $knownLen = self::safeStrlen($knownString);
- $userLen = self::safeStrlen($userInput);
-
- if ($userLen !== $knownLen) {
- return false;
- }
-
- $result = 0;
-
- for ($i = 0; $i < $knownLen; ++$i) {
- $result |= (ord($knownString[$i]) ^ ord($userInput[$i]));
- }
-
- // They are only identical strings if $result is exactly 0...
- return 0 === $result;
+ return hash_equals($knownString, $userInput);
}
/**
@@ -77,17 +65,6 @@ class StringUtils
*/
public static function safeStrlen($string)
{
- // Premature optimization
- // Since this cannot be changed at runtime, we can cache it
- static $funcExists = null;
- if (null === $funcExists) {
- $funcExists = function_exists('mb_strlen');
- }
-
- if ($funcExists) {
- return mb_strlen($string, '8bit');
- }
-
- return strlen($string);
+ return Binary::strlen($string);
}
}