[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3278":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},3278,"crypto-js","brix\u002Fcrypto-js","brix","JavaScript library of crypto standards.","",null,"JavaScript",16383,2493,246,260,0,1,6,45,"Other",false,"develop",[],"2026-06-12 02:00:48","# crypto-js\n\nJavaScript library of crypto standards.\n\n## Discontinued\n\nActive development of CryptoJS has been discontinued. This library is no longer maintained.\n\nNowadays, NodeJS and modern browsers have a native `Crypto` module. The latest version of CryptoJS already uses the native Crypto module for random number generation, since `Math.random()` is not crypto-safe. Further development of CryptoJS would result in it only being a wrapper of native Crypto. Therefore, development and maintenance has been discontinued, it is time to go for the native `crypto` module.\n\n## Node.js (Install)\n\nRequirements:\n\n- Node.js\n- npm (Node.js package manager)\n\n```bash\nnpm install crypto-js\n```\n\n### Usage\n\nES6 import for typical API call signing use case:\n\n```javascript\nimport sha256 from 'crypto-js\u002Fsha256';\nimport hmacSHA512 from 'crypto-js\u002Fhmac-sha512';\nimport Base64 from 'crypto-js\u002Fenc-base64';\n\nconst message, nonce, path, privateKey; \u002F\u002F ...\nconst hashDigest = sha256(nonce + message);\nconst hmacDigest = Base64.stringify(hmacSHA512(path + hashDigest, privateKey));\n```\n\nModular include:\n\n```javascript\nvar AES = require(\"crypto-js\u002Faes\");\nvar SHA256 = require(\"crypto-js\u002Fsha256\");\n...\nconsole.log(SHA256(\"Message\"));\n```\n\nIncluding all libraries, for access to extra methods:\n\n```javascript\nvar CryptoJS = require(\"crypto-js\");\nconsole.log(CryptoJS.HmacSHA1(\"Message\", \"Key\"));\n```\n\n## Client (browser)\n\nRequirements:\n\n- Node.js\n- Bower (package manager for frontend)\n\n```bash\nbower install crypto-js\n```\n\n### Usage\n\nModular include:\n\n```javascript\nrequire.config({\n    packages: [\n        {\n            name: 'crypto-js',\n            location: 'path-to\u002Fbower_components\u002Fcrypto-js',\n            main: 'index'\n        }\n    ]\n});\n\nrequire([\"crypto-js\u002Faes\", \"crypto-js\u002Fsha256\"], function (AES, SHA256) {\n    console.log(SHA256(\"Message\"));\n});\n```\n\nIncluding all libraries, for access to extra methods:\n\n```javascript\n\u002F\u002F Above-mentioned will work or use this simple form\nrequire.config({\n    paths: {\n        'crypto-js': 'path-to\u002Fbower_components\u002Fcrypto-js\u002Fcrypto-js'\n    }\n});\n\nrequire([\"crypto-js\"], function (CryptoJS) {\n    console.log(CryptoJS.HmacSHA1(\"Message\", \"Key\"));\n});\n```\n\n### Usage without RequireJS\n\n```html\n\u003Cscript type=\"text\u002Fjavascript\" src=\"path-to\u002Fbower_components\u002Fcrypto-js\u002Fcrypto-js.js\">\u003C\u002Fscript>\n\u003Cscript type=\"text\u002Fjavascript\">\n    var encrypted = CryptoJS.AES(...);\n    var encrypted = CryptoJS.SHA256(...);\n\u003C\u002Fscript>\n```\n\n## API\n\nSee: https:\u002F\u002Fcryptojs.gitbook.io\u002Fdocs\u002F\n\n### AES Encryption\n\n#### Plain text encryption\n\n```javascript\nvar CryptoJS = require(\"crypto-js\");\n\n\u002F\u002F Encrypt\nvar ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();\n\n\u002F\u002F Decrypt\nvar bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\nvar originalText = bytes.toString(CryptoJS.enc.Utf8);\n\nconsole.log(originalText); \u002F\u002F 'my message'\n```\n\n#### Object encryption\n\n```javascript\nvar CryptoJS = require(\"crypto-js\");\n\nvar data = [{id: 1}, {id: 2}]\n\n\u002F\u002F Encrypt\nvar ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();\n\n\u002F\u002F Decrypt\nvar bytes  = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');\nvar decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n\nconsole.log(decryptedData); \u002F\u002F [{id: 1}, {id: 2}]\n```\n\n### List of modules\n\n\n- ```crypto-js\u002Fcore```\n- ```crypto-js\u002Fx64-core```\n- ```crypto-js\u002Flib-typedarrays```\n\n---\n\n- ```crypto-js\u002Fmd5```\n- ```crypto-js\u002Fsha1```\n- ```crypto-js\u002Fsha256```\n- ```crypto-js\u002Fsha224```\n- ```crypto-js\u002Fsha512```\n- ```crypto-js\u002Fsha384```\n- ```crypto-js\u002Fsha3```\n- ```crypto-js\u002Fripemd160```\n\n---\n\n- ```crypto-js\u002Fhmac-md5```\n- ```crypto-js\u002Fhmac-sha1```\n- ```crypto-js\u002Fhmac-sha256```\n- ```crypto-js\u002Fhmac-sha224```\n- ```crypto-js\u002Fhmac-sha512```\n- ```crypto-js\u002Fhmac-sha384```\n- ```crypto-js\u002Fhmac-sha3```\n- ```crypto-js\u002Fhmac-ripemd160```\n\n---\n\n- ```crypto-js\u002Fpbkdf2```\n\n---\n\n- ```crypto-js\u002Faes```\n- ```crypto-js\u002Ftripledes```\n- ```crypto-js\u002Frc4```\n- ```crypto-js\u002Frabbit```\n- ```crypto-js\u002Frabbit-legacy```\n- ```crypto-js\u002Fevpkdf```\n\n---\n\n- ```crypto-js\u002Fformat-openssl```\n- ```crypto-js\u002Fformat-hex```\n\n---\n\n- ```crypto-js\u002Fenc-latin1```\n- ```crypto-js\u002Fenc-utf8```\n- ```crypto-js\u002Fenc-hex```\n- ```crypto-js\u002Fenc-utf16```\n- ```crypto-js\u002Fenc-base64```\n\n---\n\n- ```crypto-js\u002Fmode-cfb```\n- ```crypto-js\u002Fmode-ctr```\n- ```crypto-js\u002Fmode-ctr-gladman```\n- ```crypto-js\u002Fmode-ofb```\n- ```crypto-js\u002Fmode-ecb```\n\n---\n\n- ```crypto-js\u002Fpad-pkcs7```\n- ```crypto-js\u002Fpad-ansix923```\n- ```crypto-js\u002Fpad-iso10126```\n- ```crypto-js\u002Fpad-iso97971```\n- ```crypto-js\u002Fpad-zeropadding```\n- ```crypto-js\u002Fpad-nopadding```\n\n\n## Release notes\n\n### 4.2.0\n\nChange default hash algorithm and iteration's for PBKDF2 to prevent weak security by using the default configuration.\n\nCustom KDF Hasher\n\nBlowfish support\n\n### 4.1.1\n\nFix module order in bundled release.\n\nInclude the browser field in the released package.json.\n\n### 4.1.0\n\nAdded url safe variant of base64 encoding. [357](https:\u002F\u002Fgithub.com\u002Fbrix\u002Fcrypto-js\u002Fpull\u002F357)\n\nAvoid webpack to add crypto-browser package. [364](https:\u002F\u002Fgithub.com\u002Fbrix\u002Fcrypto-js\u002Fpull\u002F364)\n\n### 4.0.0\n\nThis is an update including breaking changes for some environments.\n\nIn this version `Math.random()` has been replaced by the random methods of the native crypto module.\n\nFor this reason CryptoJS might not run in some JavaScript environments without native crypto module. Such as IE 10 or before or React Native.\n\n### 3.3.0\n\nRollback, `3.3.0` is the same as `3.1.9-1`.\n\nThe move of using native secure crypto module will be shifted to a new `4.x.x` version. As it is a breaking change the impact is too big for a minor release.\n\n### 3.2.1\n\nThe usage of the native crypto module has been fixed. The import and access of the native crypto module has been improved.\n\n### 3.2.0\n\nIn this version `Math.random()` has been replaced by the random methods of the native crypto module.\n\nFor this reason CryptoJS might does not run in some JavaScript environments without native crypto module. Such as IE 10 or before.\n\nIf it's absolute required to run CryptoJS in such an environment, stay with `3.1.x` version. Encrypting and decrypting stays compatible. But keep in mind `3.1.x` versions still use `Math.random()` which is cryptographically not secure, as it's not random enough. \n\nThis version came along with `CRITICAL` `BUG`. \n\nDO NOT USE THIS VERSION! Please, go for a newer version!\n\n### 3.1.x\n\nThe `3.1.x` are based on the original CryptoJS, wrapped in CommonJS modules.\n\n\n","crypto-js 是一个用于实现加密标准的 JavaScript 库。它支持多种加密算法，如 SHA256、HMAC-SHA512 和 AES 等，并且可以方便地在 Node.js 和浏览器环境中使用。该库采用模块化设计，用户可以根据需要仅引入特定的加密功能，从而减少项目体积。尽管 crypto-js 的开发已停止，不再进行维护，但在一些旧系统或对环境兼容性有特殊要求的应用中，仍然可以作为一个过渡方案来提供加密功能。对于新项目，则建议直接利用现代浏览器和 Node.js 中内置的 `crypto` 模块以获得更好的性能与安全性。",2,"2026-06-11 02:53:20","top_language"]