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 that helps you build reliable crawlers. Fast. -
NectarJS
🔱 Javascript's God Mode. No VM. No Bytecode. No GC. Just native binaries. -
Gluon
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. -
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 💎. -
DIOD
A very opinionated inversion of control (IoC) container and dependency injector for Typescript, Node.js or browser apps. -
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) -
Brainyduck
🐥 A micro "no-backend" framework 🤯 Quickly build powerful BaaS using only your graphql schemas -
zeit
Clock and task scheduler for node.js applications, providing extensive control of time and callback scheduling in prod and test code -
ts-pojo-error
🔥 Type safe pojo error will help you to easily create typed and serializable error. -
chef-express
Command Line Interface Static Files Server written in TypeScript for Single Page Applications serving in Node with Express -
chef-socket
Command Line Interface Static Files Server written in TypeScript for Single Page Applications serving in Node with Socket.IO -
spurtcommerce
Spurtcommerce is a complete ecommerce solution for Angular 4 , Nodejs , Mysql -
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
Appwrite - The Open Source Firebase alternative introduces iOS support
* 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.