Add test_hash.php

This commit is contained in:
Hamza-Ayed
2026-08-01 16:20:17 +03:00
parent 80e457d6e3
commit 0966699070
+54
View File
@@ -0,0 +1,54 @@
<?php
require_once __DIR__ . '/core/bootstrap.php';
$id = '34feffd3fa72d6bee56b'; // This is the driver ID from the logs
$con = Database::get('main');
$stmt = $con->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);