aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/account/src/Authenticate/Hasher.php
diff options
context:
space:
mode:
authorMarvin Borner2018-05-23 22:23:28 +0200
committerMarvin Borner2018-05-23 22:23:28 +0200
commitb66a61addb6c8e66cb26fcf74b532d68891267e4 (patch)
tree05e9449ff25bdc98f68105f41923ccb9f6ef5095 /main/app/sprinkles/account/src/Authenticate/Hasher.php
parent1d4ef435177a5f9b6d1a289800d933e49be0c550 (diff)
Refactored code, many fixes and improvements in chat backend+frontend
Diffstat (limited to 'main/app/sprinkles/account/src/Authenticate/Hasher.php')
-rw-r--r--main/app/sprinkles/account/src/Authenticate/Hasher.php29
1 files changed, 13 insertions, 16 deletions
diff --git a/main/app/sprinkles/account/src/Authenticate/Hasher.php b/main/app/sprinkles/account/src/Authenticate/Hasher.php
index e277eef..5de939f 100644
--- a/main/app/sprinkles/account/src/Authenticate/Hasher.php
+++ b/main/app/sprinkles/account/src/Authenticate/Hasher.php
@@ -5,6 +5,7 @@
* @link https://github.com/userfrosting/UserFrosting
* @license https://github.com/userfrosting/UserFrosting/blob/master/licenses/UserFrosting.md (MIT License)
*/
+
namespace UserFrosting\Sprinkle\Account\Authenticate;
/**
@@ -28,12 +29,11 @@ class Hasher
* @param string $password the hashed password.
* @return string "sha1"|"legacy"|"modern".
*/
- public function getHashType($password)
- {
+ public function getHashType($password) {
// If the password in the db is 65 characters long, we have an sha1-hashed password.
if (strlen($password) == 65) {
return 'sha1';
- } elseif (strlen($password) == 82) {
+ } else if (strlen($password) == 82) {
return 'legacy';
}
@@ -44,12 +44,11 @@ class Hasher
* Hashes a plaintext password using bcrypt.
*
* @param string $password the plaintext password.
- * @param array $options
+ * @param array $options
* @return string the hashed password.
* @throws HashFailedException
*/
- public function hash($password, array $options = [])
- {
+ public function hash($password, array $options = []) {
$hash = password_hash($password, PASSWORD_BCRYPT, [
'cost' => $this->cost($options),
]);
@@ -66,21 +65,20 @@ class Hasher
*
* @param string $password The plaintext password to verify.
* @param string $hash The hash to compare against.
- * @param array $options
+ * @param array $options
* @return boolean True if the password matches, false otherwise.
*/
- public function verify($password, $hash, array $options = [])
- {
+ public function verify($password, $hash, array $options = []) {
$hashType = $this->getHashType($hash);
if ($hashType == 'sha1') {
// Legacy UserCake passwords
- $salt = substr($hash, 0, 25); // Extract the salt from the hash
+ $salt = substr($hash, 0, 25); // Extract the salt from the hash
$inputHash = $salt . sha1($salt . $password);
- return (hash_equals($inputHash, $hash) === true);
+ return (hash_equals($inputHash, $hash) === TRUE);
- } elseif ($hashType == 'legacy') {
+ } else if ($hashType == 'legacy') {
// Homegrown implementation (assuming that current install has been using a cost parameter of 12)
// Used for manual implementation of bcrypt.
// Note that this legacy hashing put the salt at the _end_ for some reason.
@@ -88,7 +86,7 @@ class Hasher
$inputHash = crypt($password, '$2y$12$' . $salt);
$correctHash = substr($hash, 0, 60);
- return (hash_equals($inputHash, $correctHash) === true);
+ return (hash_equals($inputHash, $correctHash) === TRUE);
}
// Modern implementation
@@ -98,11 +96,10 @@ class Hasher
/**
* Extract the cost value from the options array.
*
- * @param array $options
+ * @param array $options
* @return int
*/
- protected function cost(array $options = [])
- {
+ protected function cost(array $options = []) {
return isset($options['rounds']) ? $options['rounds'] : $this->defaultRounds;
}
}