12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
-
- namespace JMS\SecurityExtraBundle\Security\Util;
-
- /**
- * String utility functions.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
- final class String
- {
- final private function __construct() {}
-
- /**
- * Whether two strings are equal.
- *
- * This function uses a constant-time algorithm to compare the strings.
- *
- * @param string $str1
- * @param string $str2
- * @return Boolean
- */
- public static function equals($str1, $str2)
- {
- if (strlen($str1) !== $c = strlen($str2)) {
- return false;
- }
-
- $result = 0;
- for ($i=0; $i<$c; $i++) {
- $result |= ord($str1[$i]) ^ ord($str2[$i]);
- }
-
- return 0 === $result;
- }
- }
|