INNER CODE UNIT · TypeScript
generateKeyBytes
backbone-hq/minibone · src/core.ts:43
export const generateKeyBytes = async (): Promise<Uint8Array> => {
return new Uint8Array(generateRandomBytes(32))
}
export const loadEncryptionKey = async (keyData: Uint8Array): Promise<CryptoKey> => {
return await crypto.subtle.importKey('raw', keyData, ENCRYPTION_ALGORITHM, false, ['encrypt'])
}
export const loadDecryptionKey = async (keyData: Uint8Array): Promise<CryptoKey> => {
return await crypto.subtle.importKey('raw', keyData, ENCRYPTION_ALGORITHM, false, ['decrypt'])
}
export const encryptData = async (
data: Uint8Array,
key: CryptoKey,
associatedData?: Uint8Array
): Promise<[Uint8Array, Uint8Array]> => {
const iv = crypto.getRandomValues(new Uint8Array(12))