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);
}
}
|