argon2.ts
1import { argon2id } from "hash-wasm";23export async function deriveKey(4 password: string,5 salt: Uint8Array6): Promise<Uint8Array> {7 const result = await argon2id({8 password,9 salt,10 parallelism: 4,11 iterations: 3,12 memorySize: 65536,13 hashLength: 32,14 outputType: "binary",15 });16 return result;17}1819export function generateSalt(): Uint8Array {20 return crypto.getRandomValues(new Uint8Array(16));21}