Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 1x 1x 1x 1x 5x 5x 1x 3x 3x | import {inject} from '@loopback/core'; import {compare, genSalt, hash} from 'bcryptjs'; import {PasswordHasherBindings} from '../keys'; export interface PasswordHasher<T = string> { hashPassword(password: T): Promise<T>; comparePassword(provdedPass: T, storedPass: T): Promise<boolean> } export class BcryptHasher implements PasswordHasher<string> { async comparePassword(provdedPass: string, storedPass: string): Promise<boolean> { const passwordMatches = await compare(provdedPass, storedPass); return passwordMatches; } // @inject('rounds') @inject(PasswordHasherBindings.ROUNDS) public readonly rounds: number // round: number = 10; async hashPassword(password: string): Promise<string> { const salt = await genSalt(this.rounds); return await hash(password, salt); } } |