/** * In-Memory Password Hashing Service * * Provides basic password hashing and comparison for demo/development purposes. * NOT FOR PRODUCTION USE - uses a simple string reversal as "hashing". */ import type { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService'; export class InMemoryPasswordHashingService implements IPasswordHashingService { async hash(plain: string): Promise { // In a real application, use a robust hashing library like bcrypt or Argon2. // For demo, we'll just reverse the password and add a salt-like prefix. const salt = 'demo_salt_'; return Promise.resolve(salt + plain.split('').reverse().join('')); } async verify(plain: string, hash: string): Promise { const hashedPlain = await this.hash(plain); return Promise.resolve(hashedPlain === hash); } }