Password hashing ni mchakato wa kubadilisha password kuwa string isiyo readable kabla ya ku-save kwenye database.

Salting ni kuongeza random value kwenye password kabla ya kuhash, ili kuzuia rainbow table attacks.

Goal: Store passwords safely na kuhakikisha even if database hacked, passwords hazitafahamika.

βš™οΈ 2. PHP Password Hashing (Simple Example)
<?php
// User password input
$password = $_POST['password'];

// Hash the password using PHP's password_hash()
$hashed_password = password_hash($password, PASSWORD_DEFAULT);

// Save $hashed_password to database
echo "βœ… Password hashed successfully: $hashed_password";
?>


πŸ’‘ Maelezo:

PASSWORD_DEFAULT inachagua strongest hashing algorithm available (usually bcrypt).

Hashing automatically adds a salt internally – no need to manually create one.

🧩 3. Verifying Password on Login
<?php
// Assume $hashed_password from database
$input_password = $_POST['password'];

if(password_verify($input_password, $hashed_password)){
echo "βœ… Login successful!";
} else {
echo "❌ Invalid password!";
}
?>


password_verify() compares input password na hashed value safely.

πŸ›‘οΈ 4. Advanced Salting (Optional)

PHP's password_hash() already generates a unique salt, so manual salting is usually unnecessary.

If desired for extra security:

$salt = bin2hex(random_bytes(16));
$hashed = password_hash($password . $salt, PASSWORD_DEFAULT);


Store both $hashed and $salt in database.

On login, append salt to input before password_verify().

πŸ”‘ 5. Best Practices

Never store plain passwords – always hash.

Use password_hash() and password_verify() – built-in PHP best practice.

Avoid custom hashing (e.g., md5, sha1) – insecure.

Optional salting – already done internally, but can add extra layer.

Rehash if algorithm changes – password_needs_rehash().

βœ… 6. Hitimisho

Password hashing + salting ni critical for user security.

PHP makes it easy na secure kupitia password_hash() na password_verify().

Always combine with input validation, HTTPS, na secure database storage.

πŸ”— Tembelea:

πŸ‘‰ https://www.faulink.com/

Kwa mafunzo zaidi ya PHP, password security, na best practices za web applications.