Implement strength for whole library

This commit is contained in:
2024-09-12 01:31:45 +02:00
parent 524e9026b8
commit 76cf4632e4
14 changed files with 97 additions and 66 deletions
+9 -5
View File
@@ -1,5 +1,6 @@
import {describe, expect, test} from 'bun:test'
import {kdf, PrivateWrap, SecretBox, SecretWrap} from '..'
import {kdf, PrivateWrap, SecretBox, SecretWrap, set_strength, Strength} from '..'
import {BYTE_LENGTH} from '../src/const'
async function test_keys(
k1: CryptoKey,
@@ -84,7 +85,7 @@ describe('HKDF', () => {
await test_keys(k1!, k2!, usage1, true, false)
})
test('Minimum size', async () => {
const k = await kdf.hkdf(new Uint8Array(31), usage1)
const k = await kdf.hkdf(new Uint8Array(BYTE_LENGTH() - 1), usage1)
expect(k).toBeNull()
})
})
@@ -114,9 +115,12 @@ describe('PBKDF', () => {
expect(k1).not.toEqual(k2)
})
test('Different strengths', async () => {
const k1 = await kdf.pbkdf(salt1, pwd2, kdf.Strength.weak)
const k2 = await kdf.pbkdf(salt1, pwd1, kdf.Strength.moderate)
const k3 = await kdf.pbkdf(salt1, pwd2, kdf.Strength.strong)
set_strength(Strength.weak)
const k1 = await kdf.pbkdf(salt1, pwd2)
set_strength(Strength.moderate)
const k2 = await kdf.pbkdf(salt1, pwd1)
set_strength(Strength.strong)
const k3 = await kdf.pbkdf(salt1, pwd2)
expect(k1).not.toEqual(k2)
expect(k1).not.toEqual(k3)
expect(k2).not.toEqual(k3)