WebCryptoService

Provides cryptographic operations using the Web Crypto API (SubtleCrypto). Supports hashing, AES-GCM encryption/decryption, key generation, key import/export, and secure random generation.

TypeScriptexample.ts
import { WebCryptoService } from '@angular-helpers/security'

# Methods

MethodSignatureReturnsDescription
isSupportedisSupported(): booleanbooleanPublic method isSupported.
hashhash(data: string | ArrayBuffer, algorithm: HashAlgorithm): Promise<string>Promise<string>Public method hash.
generateAesKeygenerateAesKey(length: AesKeyLength): Promise<CryptoKey>Promise<CryptoKey>Public method generateAesKey.
encryptAesencryptAes(key: CryptoKey, data: string | ArrayBuffer): Promise<AesEncryptResult>Promise<AesEncryptResult>Public method encryptAes.
decryptAesdecryptAes(key: CryptoKey, ciphertext: ArrayBuffer, iv: Uint8Array<ArrayBuffer>): Promise<string>Promise<string>Public method decryptAes.
exportKeyexportKey(key: CryptoKey): Promise<JsonWebKey>Promise<JsonWebKey>Public method exportKey.
importAesKeyimportAesKey(jwk: JsonWebKey): Promise<CryptoKey>Promise<CryptoKey>Public method importAesKey.
generateRandomBytesgenerateRandomBytes(length: number): Uint8ArrayUint8ArrayPublic method generateRandomBytes.
randomUUIDrandomUUID(): stringstringPublic method randomUUID.
generateHmacKeygenerateHmacKey(algorithm: HmacAlgorithm): Promise<CryptoKey>Promise<CryptoKey>Public method generateHmacKey.
signsign(key: CryptoKey, data: string | ArrayBuffer): Promise<string>Promise<string>Signs data with an HMAC key. Returns a hex-encoded signature.
verifyverify(key: CryptoKey, data: string | ArrayBuffer, signature: string): Promise<boolean>Promise<boolean>Verifies an HMAC signature (hex-encoded). Returns false for malformed input — never throws.
importHmacKeyimportHmacKey(jwk: JsonWebKey, algorithm: HmacAlgorithm): Promise<CryptoKey>Promise<CryptoKey>Public method importHmacKey.
LCP N/A
CLS N/A
INP N/A