tethys.backend/providers/HashDriver/index.ts

21 lines
688 B
TypeScript
Raw Normal View History

2023-03-03 15:54:28 +00:00
import { HashDriverContract } from "@ioc:Adonis/Core/Hash";
// const bcrypt = require("bcrypt");
import bcrypt from "bcryptjs";
const saltRounds = 10;
export class LaravelHash implements HashDriverContract {
public async make(value: string) {
const _hashedValue = bcrypt.hashSync(value, saltRounds);
return _hashedValue;
}
public async verify(hashedValue: string, plainValue: string) {
let newHash: string;
if (hashedValue.includes("$2y$10$")) {
newHash = hashedValue.replace("$2y$10$", "$2a$10$");
} else {
newHash = hashedValue;
}
return await bcrypt.compareSync(plainValue, newHash);
}
}