aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/passwords/driver/helper.php
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2014-10-22 16:58:50 -0400
committerNils Adermann <naderman@naderman.de>2014-10-22 16:58:50 -0400
commitd08a47d8577c33fcd63bb172d16422e3854b26ed (patch)
treead88a54517448eff24749e147bd8cc74d2d53a62 /phpBB/phpbb/passwords/driver/helper.php
parent14bfba5070e42e59376e9cd911652682de055e7d (diff)
parentfad280f94b97799cf12a636b65f7f2288e8b3640 (diff)
downloadforums-d08a47d8577c33fcd63bb172d16422e3854b26ed.tar
forums-d08a47d8577c33fcd63bb172d16422e3854b26ed.tar.gz
forums-d08a47d8577c33fcd63bb172d16422e3854b26ed.tar.bz2
forums-d08a47d8577c33fcd63bb172d16422e3854b26ed.tar.xz
forums-d08a47d8577c33fcd63bb172d16422e3854b26ed.zip
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus: [ticket/13203] Fix passwords manager tests [ticket/13203] Use string_compare method in passwords drivers [ticket/13203] Add method for byte by byte comparison to drivers helper
Diffstat (limited to 'phpBB/phpbb/passwords/driver/helper.php')
-rw-r--r--phpBB/phpbb/passwords/driver/helper.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/phpBB/phpbb/passwords/driver/helper.php b/phpBB/phpbb/passwords/driver/helper.php
index 2b3ebce53a..caa65080ac 100644
--- a/phpBB/phpbb/passwords/driver/helper.php
+++ b/phpBB/phpbb/passwords/driver/helper.php
@@ -142,4 +142,24 @@ class helper
}
return $random;
}
+
+ /**
+ * Compare two strings byte by byte
+ *
+ * @param string $string_a The first string
+ * @param string $string_b The second string
+ *
+ * @return bool True if strings are the same, false if not
+ */
+ public function string_compare($string_a, $string_b)
+ {
+ $difference = strlen($string_a) != strlen($string_b);
+
+ for ($i = 0; $i < strlen($string_a) && $i < strlen($string_b); $i++)
+ {
+ $difference |= $string_a[$i] != $string_b[$i];
+ }
+
+ return $difference === 0;
+ }
}