tethys.backend/providers/HashDriver/index.ts

22 lines
687 B
TypeScript
Raw Normal View History

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