import { randomBytes, scryptSync } from 'crypto' export const encryptString = (value, salt) => { return scryptSync(value, salt, 32).toString('hex') } export const hashString = (value) => { const salt = randomBytes(16).toString('hex') return encryptString(value, salt) + salt } export const matchEncryptedString = (value, hash) => { const storedHash = hash.slice(0, 64) const testHash = encryptString(value, hash.slice(64)) return storedHash === testHash }