UNPKG

@meeco/cryppo

Version:

In-browser encryption and decryption. Clone of Ruby Cryppo

46 lines 1.5 kB
import { EncodingVersions } from '../encoding-versions.js'; import { EncryptionKey } from '../encryption-key.js'; import { SerializationFormat } from '../serialization-versions.js'; export declare enum KeyDerivationStrategy { Pbkdf2Hmac = "Pbkdf2Hmac" } export interface IDerivedKey { salt: string; iterations: number; length: number; strategy: string; hash?: string; } /** Serialization style used in Ruby cryppo */ export interface ICryppoSerializationArtifacts { iv: any; i: number; l: number; hash: any; } export interface IRandomKeyOptions { strategy?: string; iterationVariance?: number; length?: number; minIterations?: number; useSalt?: string; hash?: string; } /** * Store configuration used for password based key derivation and * serialize/de-serialize it. */ export declare class DerivedKeyOptions implements IDerivedKey { static usesDerivedKey(serialized: string): boolean; static randomFromOptions({ iterationVariance, length, minIterations, strategy, useSalt, }: IRandomKeyOptions): DerivedKeyOptions; static fromSerialized(serialized: string): DerivedKeyOptions; salt: string; iterations: number; length: number; strategy: string; hash: string; constructor(options: IDerivedKey); serialize(serializationVersion?: SerializationFormat): string; deriveKey(key: string, encodingVersion?: EncodingVersions): Promise<EncryptionKey>; } //# sourceMappingURL=derived-key.d.ts.map