Description
Keywords: Hash HMAC AES XTEA RSA KeyDerivation ECC BIP39 SRP Random ... This software is licensed under the MIT License. Projects which use the library: PrivMX WebMail, ...
PrivMX JS Crypto Lib alternatives and similar libraries
Based on the "NodeJS" category.
Alternatively, view PrivMX JS Crypto Lib alternatives based on common mentions on social networks and blogs.
-
Crawlee
Crawlee—A web scraping and browser automation library for Node.js to build reliable crawlers. In JavaScript and TypeScript. Extract data for AI, LLMs, RAG, or GPTs. Download HTML, PDF, JPG, PNG, and other files from websites. Works with Puppeteer, Playwright, Cheerio, JSDOM, and raw HTTP. Both headful and headless mode. With proxy rotation. -
Gluon
DISCONTINUED. A new framework for creating desktop apps from websites, using system installed browsers and NodeJS -
pwa-asset-generator
Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates manifest.json and index.html files with the generated images according to Web App Manifest specs and Apple Human Interface guidelines. -
KaibanJS
KaibanJS is a JavaScript-native framework for building and managing multi-agent systems with a Kanban-inspired approach. -
teachcode
A tool to develop and improve a student’s programming skills by introducing the earliest lessons of coding. -
Stylify
💎 Monorepository for Stylify packages. Stylify uses CSS-like selectors to generate Extremely optimized utility-first CSS dynamically based on what you write 💎. -
Autometrics
Easily add metrics to your system – and actually understand them using automatically customized Prometheus queries -
DIOD
A very opinionated inversion of control (IoC) container and dependency injector for Typescript, Node.js or browser apps. -
Brainyduck
🐥 A micro "no-backend" framework 🤯 Quickly build powerful BaaS using only your graphql schemas -
github-star-search
A CLI that search your github starred repositories offline through README , description and other fields. -
jirax
:sunglasses: :computer: Simple and flexible CLI Tool for your daily JIRA activity (supported on all OSes) -
zeit
Clock and task scheduler for node.js applications, providing extensive control of time and callback scheduling in prod and test code -
ovm
Streamline management of vaults and plugins for Obsidian end-users by enhancing productivity and efficiency. -
chef-socket
Command Line Interface Static Files Server written in TypeScript for Single Page Applications serving in Node with Socket.IO -
chef-express
Command Line Interface Static Files Server written in TypeScript for Single Page Applications serving in Node with Express -
Be notified of new signups in your app using Firebase Authentication and Google Chat
Be notified of new signups in your app directly in Google Chat
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PrivMX JS Crypto Lib or a related project?
README
PrivMX Crypto Java Script ....
Information
...
Keywords: Hash HMAC AES XTEA RSA KeyDerivation ECC BIP39 SRP Random ...
This software is licensed under the MIT License.
Projects which use the library: PrivMX WebMail, ...
Installation
...
Implementation details
...
API description
Hash functions
Name | Description | Params | Result |
---|---|---|---|
sha1 | SHA-1 (20 bytes long) | Buffer data | Promise<Buffer> |
sha256 | SHA-256 (32 bytes long) | Buffer data | Promise<Buffer> |
sha512 | SHA-512 (64 bytes long) | Buffer data | Promise<Buffer> |
Hmac functions
Name | Description | Params | Result |
---|---|---|---|
hmacSha1 | HMAC-SHA-1 | Buffer keyBuffer data | Promise<Buffer> |
hmacSha256 | HMAC-SHA-256 | Buffer keyBuffer data | Promise<Buffer> |
hmacSha512 | HMAC-SHA-512 | Buffer keyBuffer data | Promise<Buffer> |
AES encryption
Name | Description | Params | Result |
---|---|---|---|
aes256Ecb | AES-256-ECB | Buffer dataBuffer key | Promise<Buffer> |
aes256EcbDecrypt | AES-256-ECB | Buffer dataBuffer key | Promise<Buffer> |
aes256CbcPcks7Encrypt | AES-256-CBC with PKCS7 padding encryption | Buffer dataBuffer keyBuffer iv | Promise<Buffer> |
aes256CbcPcks7Decrypt | AES-256-CBC with PKCS7 padding decryption | Buffer dataBuffer keyBuffer iv | Promise<Buffer> |
aes256CbcHmac256Encrypt | AES-256-CBC with PKCS7 padding and SHA-256 HMAC with NIST compatible KDF | Buffer dataBuffer keybool deterministic, default: falsenumber taglen, default: 16 | Promise<Buffer> |
aes256CbcHmac256Decrypt | AES-256-CBC with PKCS7 padding and SHA-256 HMAC with NIST compatible KDF | Buffer dataBuffer keynumber taglen, default: 16 | Promise<Buffer> |
XTEA encryption
Name | Description | Params | Result |
---|---|---|---|
xteaEcbPkcs7Encrypt | XTEA-ECB with PKCS7 padding encryption | Buffer dataBuffer key | Promise<Buffer> |
xteaEcbPkcs7Decrypt | XTEA-ECB with PKCS7 padding decryption | Buffer dataBuffer key | Promise<Buffer> |
RSA encryption
Name | Description | Params | Result |
---|---|---|---|
rsaGenerateKey | number bits | Promise<string> | |
rsaOaepEncrypt | string keyBuffer data | Promise<Buffer> | |
rsaOaepDecrypt | string keyBuffer data | Promise<Buffer> | |
rsaSign | string keyBuffer data | Promise<Buffer> | |
rsaVerify | string keyBuffer signatureBuffer data | Promise<boolean> | |
encryptPrivateKey | string keystring passphrase | Promise<string> | |
decryptPrivateKey | string enckeystring passphrase | Promise<string> |
Key derivation
Name | Description | Params | Result |
---|---|---|---|
pbkdf2 | string passwordBuffer saltnumber roundsnumber lengthstring algorithm | Promise<Buffer> | |
prf_tls12 | Buffer keyBuffer seednumber length | Promise<Buffer> |
ECC functions
Name | Description | Params | Result |
---|---|---|---|
signToCompactSignature | Ecc.PrivateKey keyBuffer message | Promise<Buffer> | |
verifyCompactSignature | Ecc.PublicKey keyBuffer dataBuffer signature | Promise<bool> | |
signToCompactSignatureWithHash | Ecc.PrivateKey keyBuffer message | Promise<Buffer> | |
verifyCompactSignatureWithHash | Ecc.PublicKey keyBuffer dataBuffer signature | Promise<bool> | |
getSharedKey | Ecc.PrivateKey privateEcc.PublicKey public | Promise<Buffer> | |
deriveHardened | Ecc.ExtKey keynumber index | Promise<Ecc.ExtKey> | |
eciesEncrypt | Ecc.PrivateKey privateEcc.PublicKey publicBuffer data | Promise<Buffer> | |
eciesDecrypt | Ecc.PrivateKey privateEcc.PublicKey publicBuffer data | Promise<Buffer> |
BIP39 functions
interface Bip39Result {
entropy: Buffer;
mnemonic: Buffer;
extKey: Ecc.ExtKey;
};
Name | Description | Params | Result |
---|---|---|---|
bip39Generate | number strengthstring password | Promise<Bip39Result> | |
bip39FromEntropy | Buffer entropystring password | Promise<Bip39Result> | |
bip39FromMnemonic | Buffer entropystring password | Promise<Bip39Result> | |
bip39GetExtKey | Buffer entropystring password | Promise<Ecc.ExtKey> |
SRP functions
interface RegisterResult {
s: Buffer;
v: Buffer;
};
interface LoginStep1Result {
A: Buffer;
K: Buffer;
M1: Buffer;
M2: Buffer;
};
Name | Description | Params | Result |
---|---|---|---|
srpRegister | Buffer NBuffer gstring Istring P | Promise<RegisterResult> | |
srpLoginStep1 | Buffer NBuffer gBuffer sBuffer BBuffer kstring Istring P | Promise<LoginStep1Result> | |
srpLoginStep2 | Buffer clientM2Buffer serverM2 | Promise<void> |
Random generation
Name | Description | Params | Result |
---|---|---|---|
randomFeed | Buffer feed | void | |
randomInt32 | void | number | |
randomDouble | void | number | |
randomBytes | number count | Buffer | |
randomBits | number count | Buffer | |
randomBN | BN max | BN |
Misc.
Name | Description | Params | Result |
---|---|---|---|
reductKey | Reducts 32-bytes long key to 16-bytes long by SHA-256 and takes first 16 bytes | Buffer key | Promise<Buffer> |
generateIv | Generates IV from index for AES (16 bytes long) | Buffer keynumber index | Promise<Buffer> |
Build
gulp
Test
Browser tests
npm start
and browse http://localhost:8123/
Mocha tests
npm test
*Note that all licence references and agreements mentioned in the PrivMX JS Crypto Lib README section above
are relevant to that project's source code only.