diff --git a/backend/test_hash.php b/backend/test_hash.php new file mode 100644 index 0000000..5004bc9 --- /dev/null +++ b/backend/test_hash.php @@ -0,0 +1,54 @@ +prepare(' + SELECT d.id, d.phone, d.national_number, d.email, d.password, c.year + FROM driver d + LEFT JOIN CarRegistration c ON c.driverID = d.id + WHERE d.id = :id + LIMIT 1 +'); +$stmt->execute([':id' => $id]); +$driver = $stmt->fetch(); +$pepper = getenv('SECRET_KEY_HMAC'); + +$res = ['driver' => $driver]; + +$oldParts = [ + $driver['id'], + $driver['phone'], +]; +if (!empty($driver['national_number'])) { + $oldParts[] = $driver['national_number']; +} +if (!empty($driver['year']) && preg_match('/^\d{4}$/', $driver['year'])) { + $oldParts[] = $driver['year']; +} +$oldString = implode('|', $oldParts); +$oldSecret = hash_hmac('sha256', $oldString, $pepper, true); + +$res['oldString'] = $oldString; +$res['password_verify_old'] = password_verify($oldSecret, $driver['password']); + +$decPhone = !empty($driver['phone']) ? $encryptionHelper->decryptData($driver['phone']) : null; +$decNat = !empty($driver['national_number']) ? $encryptionHelper->decryptData($driver['national_number']) : null; + +$newParts = [ + $driver['id'], + trim($decPhone), +]; +if (!empty($decNat)) { + $newParts[] = trim($decNat); +} +if (!empty($driver['year']) && preg_match('/^\d{4}$/', $driver['year'])) { + $newParts[] = $driver['year']; +} +$newString = implode('|', $newParts); +$newSecret = hash_hmac('sha256', $newString, $pepper, true); + +$res['newString'] = $newString; +$res['password_verify_new'] = password_verify($newSecret, $driver['password']); +$res['decPhone'] = $decPhone; + +echo json_encode($res);