2025-06-22 11:34:32 +08:00

25 lines
663 B
TypeScript

import bcrypt from 'bcryptjs'
import jwt from 'jsonwebtoken'
const JWT_SECRET = process.env.JWT_SECRET || 'your-jwt-secret-here'
export async function hashPassword(password: string): Promise<string> {
return await bcrypt.hash(password, 12)
}
export async function verifyPassword(password: string, hashedPassword: string): Promise<boolean> {
return await bcrypt.compare(password, hashedPassword)
}
export function generateToken(payload: any): string {
return jwt.sign(payload, JWT_SECRET, { expiresIn: '7d' })
}
export function verifyToken(token: string): any {
try {
return jwt.verify(token, JWT_SECRET)
} catch (error) {
return null
}
}