API Overview
Everything is exported from the single entry point @ppabari/encryptix. Most functionality lives on the EncryptixClient; a set of standalone helpers is exported for key generation, encoding, OTP, and randomness.
import { EncryptixClient, generateMasterKey } from '@ppabari/encryptix';
const enc = new EncryptixClient();
Client methods
| Method | Description |
|---|---|
encrypt(plaintext, purpose, opts?) |
AES-GCM or ChaCha20 encrypt โ Symmetric |
decrypt(payload, purpose, opts?) |
Symmetric decrypt |
encryptObject(value, purpose, opts?) |
Encrypt any JSON value with optional TTL |
decryptObject(payload, purpose, opts?) |
Decrypt and verify TTL automatically |
encryptDeterministic(plaintext, purpose, opts?) |
AES-SIV deterministic encrypt โ Deterministic |
decryptDeterministic(payload, purpose, opts?) |
AES-SIV decrypt + verify |
envelopeEncrypt(plaintext, purpose, opts?) |
DEK/KEK envelope encrypt โ Envelope |
envelopeDecrypt(envelope, purpose, opts?) |
Unwrap DEK, decrypt data |
multiRecipientEncrypt(plaintext, recipients, opts?) |
Encrypt for many public keys |
addRecipient(...) / removeRecipient(...) |
Manage recipients of an envelope |
sign(payload, purpose, opts?) |
HMAC-SHA256 signed token โ Signed Tokens |
verify(token, purpose, opts?) |
Verify signed token โ VerifyTokenResult |
encryptStream(opts) / decryptStream(opts) |
TransformStream chunk encryption โ Streaming |
encryptBatch / decryptBatch / *Mixed / *Safe |
Bulk operations โ Batch |
encryptRSA / decryptRSA / generateRSAKeyPair |
RSA-OAEP โ Asymmetric |
signRSA / verifyRSA / generateRSAPSSKeyPair |
RSA-PSS signatures |
generateECDHKeyPair / generateECDSAKeyPair / signECDSA / verifyECDSA |
Elliptic-curve keys & signatures |
deriveKeyFromPassword(pass, purpose, opts?) |
scrypt/PBKDF2 password โ keyHex โ Password KDF |
generateTOTP / verifyTOTP / generateHOTP / totpKeyUri |
OTP โ OTP |
hash / hmac / verifyHmac |
Hashing & HMAC โ Utilities |
generateToken / generateApiKey / generateUUID |
Random tokens & IDs |
keyFingerprint() |
Short non-reversible key identifier โ Key Management |
rotate(newKeyHex) |
Key rotation โ new EncryptixClient |
inspectPayload(payload) |
Decode a payload header without the key |
Standalone exports
| Group | Exports |
|---|---|
| Keys | generateMasterKey, generateRSAKeyPair, generateRSAPSSKeyPair, generateECDHKeyPair, generateECDSAKeyPair |
| Asymmetric | rsaEncrypt, rsaDecrypt, rsaPssSign, rsaPssVerify, deriveSharedSecret, ecdsaSign, ecdsaVerify |
| OTP | generateTOTPSecret, generateTOTP, verifyTOTP, generateHOTP, totpKeyUri, toBase32, fromBase32 |
| Multi-recipient | multiRecipientEncrypt, multiRecipientDecrypt, addRecipient, removeRecipient |
| Tokens & hashing | hash, hmac, verifyHmac, generateToken, generateApiKey, generateUUID |
| Secure random | secureRandomBytes, secureRandomInt, secureRandomFloat, secureRandomString, secureRandomChoice, secureRandomSample, secureRandomShuffle, securePassphrase, CHARSETS |
| Batch | encryptBatch, decryptBatch, encryptBatchMixed, decryptBatchMixed, encryptBatchSafe, decryptBatchSafe |
| Encoding | base32Encode/Decode, hexEncode/Decode, base64Encode/Decode, base64urlEncode, convertEncoding, safeCompare |
| Inspection | inspectPayload, inspectStreamHeader, inspectToken |
| Key management | zeroize, zeroizeAll, withZeroize, createKeyMetadataStore, reEncrypt, reEncryptBatch, exportKeyToJWK, importKeyFromJWK, serializeKey, deserializeKey |
| KDF | deriveKeyFromPassword |
| Errors | EncryptixError |
๐งญ
New here? Start with the Getting Started guide and Core Concepts (purpose scoping), then dive into the capability pages in the sidebar.