tethys.backend/providers/HashDriver/index.ts
2023-03-03 16:54:28 +01:00

21 lines
688 B
TypeScript

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