UNPKG

browserify-hybrid-crypto

Version:

TypeScript implementation Hybrid encryption and signing library built on Web Crypto (AES + RSA + HMAC).

27 lines (24 loc) 979 B
import { HybridEncryption, NormalizedHybridEncryption } from "./interfaces"; import { fromBase64, toBase64 } from "./utils"; export function normalizeHybridEncryption( hybridEncryption: HybridEncryption, ): NormalizedHybridEncryption { return { encryptedSessionKey: toBase64(hybridEncryption.encryptedSessionKey), encryptedSigningKey: toBase64(hybridEncryption.encryptedSigningKey), encryptedData: toBase64(hybridEncryption.encryptedData), signature: toBase64(hybridEncryption.signature), iv: toBase64(hybridEncryption.iv), }; } export function denormalizeHybridEncryption( normalized: NormalizedHybridEncryption, ): HybridEncryption { return { encryptedSessionKey: fromBase64(normalized.encryptedSessionKey), encryptedSigningKey: fromBase64(normalized.encryptedSigningKey), encryptedData: fromBase64(normalized.encryptedData), signature: fromBase64(normalized.signature), iv: new Uint8Array(fromBase64(normalized.iv)), }; }