This project implements a secure and efficient password manager in JavaScript, designed to safely store and manage passwords using cryptographic techniques. The core library includes various functions that enable password encryption, integrity checking, and secure storage of domain-password pairs.
- Password Encryption: AES-GCM encryption for secure storage of passwords.
- Domain Name Obfuscation: HMAC is used to hide domain names while enabling lookup.
- Password Integrity Checks: A SHA-256 checksum protects against tampering and rollback attacks.
- PBKDF2 Key Derivation: Strengthened key derivation for secure master password handling.
- JavaScript
- Node.js with the
crypto
library for cryptographic functions - MochaJS for testing
- Expect.js for assertions in test cases
- Node.js (Download from nodejs.org)
-
Clone the Repository
git clone <repository-url> cd proj1
-
Install Dependencies
npm install
To test the implementation, run:
npm test