| 1234567891011121314 |
- namespace Application.Abstractions.Authentication;
- // dpot 1.0 (legacy)에서 이관된 회원의 비밀번호 해시를 검증하기 위한 추상화.
- // 현행은 PBKDF2(Member.PasswordHash)를 사용하지만, legacy 데이터는 bcrypt($2a$/$2b$/$2y$) 형식이
- // Member.Password 컬럼에 보존되어 있다. 로그인 시 PBKDF2 검증이 실패하면 이 검증기로 fallback 한 뒤,
- // 성공하면 PBKDF2로 재해싱(lazy upgrade)하여 점진적으로 bcrypt 의존을 제거한다.
- public interface ILegacyPasswordVerifier
- {
- // 주어진 해시가 legacy(bcrypt) 형식인지 판별
- bool IsLegacyHash(string? hash);
- // 평문이 legacy bcrypt 해시와 일치하는지 검증
- bool Verify(string password, string legacyHash);
- }
|