A discontinued JavaScript library providing implementations of cryptographic standards like AES, SHA, HMAC, and PBKDF2.
CryptoJS is a JavaScript library that provides implementations of common cryptographic algorithms and standards, such as AES encryption, SHA hashing, HMAC, and PBKDF2. It was designed to enable secure data handling in JavaScript applications before native crypto modules were widely supported in browsers and Node.js. The library is now discontinued, as modern environments have built-in crypto capabilities.
JavaScript developers working on legacy projects or environments that lack native crypto support, such as older browsers or specific JavaScript runtimes without built-in cryptographic APIs.
CryptoJS offered a reliable, modular, and standards-compliant way to perform cryptographic operations in JavaScript, filling a gap before native support became ubiquitous. Its modular design allowed developers to include only the necessary algorithms, keeping bundle sizes manageable.
JavaScript library of crypto standards.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements a wide range of cryptographic standards including AES, SHA variants, HMAC, and PBKDF2, as listed in the detailed modules section, covering most common needs.
Allows importing specific modules like `crypto-js/sha256` to minimize bundle size, demonstrated in the ES6 and CommonJS usage examples for targeted functionality.
Works in both Node.js and browsers with support for CommonJS and ES6 modules, providing consistent API across environments, as shown in the installation and usage sections.
Offers cryptographic capabilities for older environments like IE 10 or pre-native crypto runtimes, with fallbacks mentioned in release notes for version compatibility.
The README explicitly states development has stopped, meaning no security patches, bug fixes, or updates will be provided, posing risks for long-term use.
Relies on Bower for browser installation, which is largely obsolete in modern frontend development, complicating integration with current build tools.
Versions before 4.0.0 used insecure `Math.random()` for cryptographic operations, as warned in release notes, requiring careful version management to avoid vulnerabilities.