'use strict'
import { WorkerInterface } from './worker-interface'
-import { PBKDF2_ITERATIONS } from '#src/lib/constants.js'
-import { default as Convert, bytes } from '#src/lib/convert.js'
-import { Entropy } from '#src/lib/entropy.js'
import { NamedData } from '#types'
/**
salt = dataObject.salt
}
try {
- salt ??= (await Entropy.create()).buffer
+ salt ??= globalThis.crypto.getRandomValues(new Uint8Array(32)).buffer
const key = await this.#createAesKey(method, password, salt)
return { salt, key }
} catch (err) {
const derivationAlgorithm: Pbkdf2Params = {
name: 'PBKDF2',
hash: 'SHA-512',
- iterations: PBKDF2_ITERATIONS,
+ iterations: 210000,
salt
}
const derivedKeyType: AesKeyGenParams = {
NODE: importWorkerThreads = `import { parentPort } from 'node:worker_threads'`
export default `
${importWorkerThreads}
- ${Convert}
- const PBKDF2_ITERATIONS = ${PBKDF2_ITERATIONS}
- const Entropy = ${Entropy}
const WorkerInterface = ${WorkerInterface}
const Passkey = ${Passkey}
`