fix: migrate PIN hashing from SHA-256 to Argon2id (#54) #55

Merged
maximus merged 4 commits from fix/simpl-resultat-54-argon2id-pin into main 2026-04-14 12:49:06 +00:00
Showing only changes of commit 2f610bf10a - Show all commits

View file

@ -191,9 +191,10 @@ pub fn verify_pin(pin: String, stored_hash: String) -> Result<VerifyPinResult, S
let valid: bool = result.as_slice().ct_eq(&expected_hash).into(); let valid: bool = result.as_slice().ct_eq(&expected_hash).into();
if valid { if valid {
// Re-hash with Argon2id so this legacy PIN is upgraded // Re-hash with Argon2id so this legacy PIN is upgraded.
let new_hash = hash_pin(pin)?; // If rehash fails, still allow login — don't block the user.
Ok(VerifyPinResult { valid: true, rehashed: Some(new_hash) }) let rehashed = hash_pin(pin).ok();
Ok(VerifyPinResult { valid: true, rehashed })
} else { } else {
Ok(VerifyPinResult { valid: false, rehashed: None }) Ok(VerifyPinResult { valid: false, rehashed: None })
} }