hcef is a fast and secure Node.js native addon written in C++ that provides file encryption with custom obfuscation and HMAC integrity verification. Built using OpenSSL and N-API.
- OpenSSL-backed
- HMAC-SHA256 integrity check
- Obfuscation: Caesar cipher, XOR, and byte reversal
- Uses salt and IV for each encryption
- Secure key derivation (PBKDF2-HMAC-SHA256-ARGON2)
- Automatic Base64 encoding for file structure
- Native performance with clean memory handling
- Zlib package for compression
npm install hcef
Note: Requires a C++17-compatible compiler,
node-gyp
, and OpenSSL development headers installed.
const hcef = require('hcef');
const result = hcef.encrypt('example.txt', 'myStrongPassword123');
console.log(result);
const hcef = require('hcef');
const result = hcef.decrypt('example.txt.enf', 'myStrongPassword123');
console.log(result);
The output will be saved to
example.txt.enf
(encrypted) andexample.txt.enf.dnf
(decrypted)
The encrypted file is a Base64-encoded string containing:
MAGIC_HEADER:salt:iv:mac:ciphertext
-
MAGIC_HEADER
: To verify the file is encrypted using hcrypt-native -
salt
,iv
,mac
, andciphertext
are all base64-encoded
- Keys are derived using 100,000 PBKDF2 iterations (HMAC-SHA256)
- HMAC prevents tampering and verifies integrity before decryption
- Memory is securely wiped using
OPENSSL_cleanse
- Uses Both PBKDF2 and ARGON2 To Slow Down Brute Force Attacking [Latest Release]
- zlib compression.
While this project is production-hardened, always stay updated with the latest OpenSSL and test thoroughly in your environment.
This package is actively maintained and tested with:
- Manual encryption-decryption consistency checks
- Corruption resilience tests (tampered file detection)
- Compatibility checks across major platforms
MIT
Pull requests and suggestions are welcome. Please open issues to report bugs or request features.
Version | Status | Description |
---|---|---|
2.2.6 | Stable | Stable and secure, but many dependencies. Try using the latest. |
2.3.7 | Stable | Stable release with added security layers. |
2.4.3+ | Stable | Stable Release Added zlib for compression |
2.5.2 | Latest | Latest Release Adds Smart error handling, and Key Encryption Smart Handling |
Developed and maintained by Jeck