Skip to content

Commit

Permalink
Addition method of validation pass for magento 2.3 has been added. (m…
Browse files Browse the repository at this point in the history
  • Loading branch information
TsaiEvgenii authored and tmotyl committed Aug 2, 2019
1 parent 82ae373 commit b7dd5e8
Showing 1 changed file with 31 additions and 2 deletions.
33 changes: 31 additions & 2 deletions magmi/inc/magmi_auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,39 @@ private function validatePass($hash,$pass){
$hash = explode(":",$hash);
$cecheck = md5($hash[1] . $pass);
$eecheck = hash('sha256',$hash[1] . $pass);
$valid=($cecheck == $hash[0] || $eecheck== $hash[0]);
$eecheckArgo = $this->getArgonHash($pass, $hash[1]);
$valid = ($cecheck == $hash[0] || $eecheck == $hash[0] || $eecheckArgo == $hash[0]);

return $valid;
}

/**
* Generate Argon2ID13 hash.
* Got from \Magento\Framework\Encryption\Encryptor
*
* @param string $data
* @param string $salt
* @return string
*/
private function getArgonHash($data, $salt = ''){
$salt = empty($salt) ?
random_bytes(SODIUM_CRYPTO_PWHASH_SALTBYTES) :
substr($salt, 0, SODIUM_CRYPTO_PWHASH_SALTBYTES);

if (strlen($salt) < SODIUM_CRYPTO_PWHASH_SALTBYTES) {
$salt = str_pad($salt, SODIUM_CRYPTO_PWHASH_SALTBYTES, $salt);
}

return bin2hex(sodium_crypto_pwhash(
SODIUM_CRYPTO_SIGN_SEEDBYTES,
$data,
$salt,
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13
));
}


public function engineInit($params)
{
Expand All @@ -58,4 +87,4 @@ public function engineRun($params)
{
// TODO: Implement engineRun() method.
}
}
}

0 comments on commit b7dd5e8

Please sign in to comment.