From 09666990707aa965ae441d415cc9ec4706fd8f8e Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sat, 1 Aug 2026 16:20:17 +0300 Subject: [PATCH] Add test_hash.php --- backend/test_hash.php | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 backend/test_hash.php 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);