mirror of
https://github.com/bitwarden/browser
synced 2025-12-22 11:13:46 +00:00
[PM-22271] Switch to SDK argon2 implementation, and drop other impls (#15401)
* Switch to SDK argon2 implementation
* Cleanup and update to the latest sdk
* Update package lock
* Remove copy patch
* Fix builds
* Fix test build
* Remove error
* Fix tests
* Fix build
* Run prettier
* Remove argon2 references
* Regenerate index.d.ts for desktop_native napi
* Replace mocked crypto function service type
(cherry picked from commit 8250e40c6c)
This commit is contained in:
@@ -33,29 +33,6 @@ export class NodeCryptoFunctionService implements CryptoFunctionService {
|
||||
});
|
||||
}
|
||||
|
||||
async argon2(
|
||||
password: string | Uint8Array,
|
||||
salt: string | Uint8Array,
|
||||
iterations: number,
|
||||
memory: number,
|
||||
parallelism: number,
|
||||
): Promise<Uint8Array> {
|
||||
const nodePassword = this.toNodeValue(password);
|
||||
const nodeSalt = this.toNodeBuffer(this.toUint8Buffer(salt));
|
||||
|
||||
const argon2 = await import("argon2");
|
||||
const hash = await argon2.hash(nodePassword, {
|
||||
salt: nodeSalt,
|
||||
raw: true,
|
||||
hashLength: 32,
|
||||
timeCost: iterations,
|
||||
memoryCost: memory,
|
||||
parallelism: parallelism,
|
||||
type: argon2.argon2id,
|
||||
});
|
||||
return this.toUint8Buffer(hash);
|
||||
}
|
||||
|
||||
// ref: https://tools.ietf.org/html/rfc5869
|
||||
async hkdf(
|
||||
ikm: Uint8Array,
|
||||
|
||||
Reference in New Issue
Block a user