aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-util/src/argon2-impl.wasm.ts
diff options
context:
space:
mode:
authorNullptrderef <nullptrderef@proton.me>2024-04-21 11:44:06 +0200
committerNullptrderef <nullptrderef@proton.me>2024-04-21 11:44:06 +0200
commite9914dc05ec59b562b3973b6f65155a5e8ace855 (patch)
tree642b2554ce440843732b207bded4efb9ed659712 /packages/taler-util/src/argon2-impl.wasm.ts
parent59d6c9a75ad0e5a485258d929031bd803c79f157 (diff)
downloadwallet-core-e9914dc05ec59b562b3973b6f65155a5e8ace855.tar.xz
use wasm argon2 in browsers, thanks
TODO: look into non-wasm targets where fully native may be better or WASM isnt always supported
Diffstat (limited to 'packages/taler-util/src/argon2-impl.wasm.ts')
-rw-r--r--packages/taler-util/src/argon2-impl.wasm.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/taler-util/src/argon2-impl.wasm.ts b/packages/taler-util/src/argon2-impl.wasm.ts
new file mode 100644
index 000000000..d1a36c4fe
--- /dev/null
+++ b/packages/taler-util/src/argon2-impl.wasm.ts
@@ -0,0 +1,19 @@
+import { argon2id } from "hash-wasm";
+
+export async function HashArgon2idImpl(
+ password: Uint8Array,
+ salt: Uint8Array,
+ iterations: number,
+ memorySize: number,
+ hashLength: number,
+): Promise<Uint8Array> {
+ return await argon2id({
+ password: password,
+ salt: salt,
+ iterations: iterations,
+ memorySize: memorySize,
+ hashLength: hashLength,
+ parallelism: 1,
+ outputType: "binary",
+ });
+}