/** * Cryptographic utilities for zero-knowledge password handling * Used for PBKDF2 hashing before sending to backend */ export declare class CryptoService { /** * Generate a cryptographically secure random salt * @param length Salt length in bytes (default: 32) * @returns Base64-encoded salt */ generateSalt(length?: number): string; /** * Hash password using PBKDF2 * @param password Raw password string * @param salt Base64-encoded salt (if not provided, generates new one) * @param iterations PBKDF2 iterations (default: 600000) * @returns Promise<{ hash: string, salt: string }> */ hashPassword(password: string, salt?: string, iterations?: number): Promise<{ hash: string; salt: string; }>; /** * Verify password against stored hash and salt * @param password Password to verify * @param storedHash Stored password hash * @param storedSalt Stored salt * @returns Promise True if password matches */ verifyPassword(password: string, storedHash: string, storedSalt: string): Promise; /** * Convert ArrayBuffer to Base64 string */ private arrayBufferToBase64; /** * Convert Base64 string to ArrayBuffer */ private base64ToArrayBuffer; } //# sourceMappingURL=crypto.service.d.ts.map