# crypto-js [![Build Status](https://travis-ci.org/brix/crypto-js.svg?branch=develop)](https://travis-ci.org/brix/crypto-js)
JavaScript library of crypto standards.
## Node.js (Install)
Requirements:
- Node.js
- npm (Node.js package manager)
```bash
npm install crypto-js
```
### Usage
ES6 import for typical API call signing use case:
```javascript
import sha256 from 'crypto-js/sha256';
import hmacSHA512 from 'crypto-js/hmac-sha512';
import Base64 from 'crypto-js/enc-base64';
const message, nonce, path, privateKey; // ...
const hashDigest = sha256(nonce + message);
const hmacDigest = Base64.stringify(hmacSHA512(path + hashDigest, privateKey));
```
Modular include:
```javascript
var AES = require("crypto-js/aes");
var SHA256 = require("crypto-js/sha256");
...
console.log(SHA256("Message"));
```
Including all libraries, for access to extra methods:
```javascript
var CryptoJS = require("crypto-js");
console.log(CryptoJS.HmacSHA1("Message", "Key"));
```
## Client (browser)
Requirements:
- Node.js
- Bower (package manager for frontend)
```bash
bower install crypto-js
```
### Usage
Modular include:
```javascript
require.config({
packages: [
{
name: 'crypto-js',
location: 'path-to/bower_components/crypto-js',
main: 'index'
}
]
});
require(["crypto-js/aes", "crypto-js/sha256"], function (AES, SHA256) {
console.log(SHA256("Message"));
});
```
Including all libraries, for access to extra methods:
```javascript
// Above-mentioned will work or use this simple form
require.config({
paths: {
'crypto-js': 'path-to/bower_components/crypto-js/crypto-js'
}
});
require(["crypto-js"], function (CryptoJS) {
console.log(CryptoJS.HmacSHA1("Message", "Key"));
});
```
### Usage without RequireJS
```html
<script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script>
<script type="text/javascript">
var encrypted = CryptoJS.AES(...);
var encrypted = CryptoJS.SHA256(...);
</script>
```
## API
See: https://cryptojs.gitbook.io/docs/
### AES Encryption
#### Plain text encryption
```javascript
var CryptoJS = require("crypto-js");
// Encrypt
var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();
// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
var originalText = bytes.toString(CryptoJS.enc.Utf8);
console.log(originalText); // 'my message'
```
#### Object encryption
```javascript
var CryptoJS = require("crypto-js");
var data = [{id: 1}, {id: 2}]
// Encrypt
var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123').toString();
// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext, 'secret key 123');
var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
console.log(decryptedData); // [{id: 1}, {id: 2}]
```
### List of modules
- ```crypto-js/core```
- ```crypto-js/x64-core```
- ```crypto-js/lib-typedarrays```
---
- ```crypto-js/md5```
- ```crypto-js/sha1```
- ```crypto-js/sha256```
- ```crypto-js/sha224```
- ```crypto-js/sha512```
- ```crypto-js/sha384```
- ```crypto-js/sha3```
- ```crypto-js/ripemd160```
---
- ```crypto-js/hmac-md5```
- ```crypto-js/hmac-sha1```
- ```crypto-js/hmac-sha256```
- ```crypto-js/hmac-sha224```
- ```crypto-js/hmac-sha512```
- ```crypto-js/hmac-sha384```
- ```crypto-js/hmac-sha3```
- ```crypto-js/hmac-ripemd160```
---
- ```crypto-js/pbkdf2```
---
- ```crypto-js/aes```
- ```crypto-js/tripledes```
- ```crypto-js/rc4```
- ```crypto-js/rabbit```
- ```crypto-js/rabbit-legacy```
- ```crypto-js/evpkdf```
---
- ```crypto-js/format-openssl```
- ```crypto-js/format-hex```
---
- ```crypto-js/enc-latin1```
- ```crypto-js/enc-utf8```
- ```crypto-js/enc-hex```
- ```crypto-js/enc-utf16```
- ```crypto-js/enc-base64```
---
- ```crypto-js/mode-cfb```
- ```crypto-js/mode-ctr```
- ```crypto-js/mode-ctr-gladman```
- ```crypto-js/mode-ofb```
- ```crypto-js/mode-ecb```
---
- ```crypto-js/pad-pkcs7```
- ```crypto-js/pad-ansix923```
- ```crypto-js/pad-iso10126```
- ```crypto-js/pad-iso97971```
- ```crypto-js/pad-zeropadding```
- ```crypto-js/pad-nopadding```
## Release notes
### 4.0.0
This is an update including breaking changes for some environments.
In this version `Math.random()` has been replaced by the random methods of the native crypto module.
For this reason CryptoJS might does not run in some JavaScript environments without native crypto module. Such as IE 10 or before or React Native.
### 3.3.0
Rollback, `3.3.0` is the same as `3.1.9-1`.
The 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.
### 3.2.1
The usage of the native crypto module has been fixed. The import and access of the native crypto module has been improved.
### 3.2.0
In this version `Math.random()` has been replaced by the random methods of the native crypto module.
For this reason CryptoJS might does not run in some JavaScript environments without native crypto module. Such as IE 10 or before.
If 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.
This version came along with `CRITICAL` `BUG`.
DO NOT USE THIS VERSION! Please, go for a newer version!
### 3.1.x
The `3.1.x` are based on the original CryptoJS, wrapped in CommonJS modules.
没有合适的资源?快使用搜索试试~ 我知道了~
CryptoJS-v4.0.0下载,为JavaScript提供了各种各样的加密算法的JavaScript库
共56个文件
js:48个
wiki:2个
json:2个
需积分: 5 20 下载量 33 浏览量
2023-01-13
10:33:06
上传
评论
收藏 138KB ZIP 举报
温馨提示
加密库一般用在用户登录的密码,注册密码,用于前端加密。 CryptoJS(crypto.js)是一个为JavaScript提供了各种各样的加密算法的JavaScript库。 作用:用前端框架加密后再进行传输,以提高密码传输过程中的安全性。 aes.js, bower.json, cipher-core.js, core.js, crypto-js.js, enc-base64.js, enc-hex.js, enc-latin1.js, enc-utf8.js, enc-utf16.js, evpkdf.js, format-hex.js, format-openssl.js, hmac.js, hmac-md5.js, hmac-ripemd160.js, hmac-sha1.js, hmac-sha3.js, hmac-sha224.js, hmac-sha256.js, hmac-sha384.js, hmac-sha512.js, index.js, lib-typedarrays.js, md5.js, mode-cfb.js, mode-ctr.js, mode-ct
资源推荐
资源详情
资源评论
收起资源包目录
CryptoJS-v4.0.0.zip (56个子文件)
CryptoJS-v4.0.0
crypto-js-4.0.0
sha224.js 2KB
enc-base64.js 4KB
x64-core.js 9KB
rabbit-legacy.js 7KB
enc-utf16.js 4KB
mode-ecb.js 893B
pad-pkcs7.js 411B
ripemd160.js 9KB
sha1.js 4KB
hmac-sha512.js 468B
pbkdf2.js 4KB
pad-zeropadding.js 1KB
sha256.js 5KB
hmac-sha384.js 501B
format-openssl.js 416B
sha512.js 13KB
LICENSE 1KB
rc4.js 3KB
mode-ctr-gladman.js 2KB
hmac.js 4KB
md5.js 9KB
pad-ansix923.js 1KB
cipher-core.js 29KB
aes.js 8KB
pad-iso97971.js 918B
CONTRIBUTING.md 482B
pad-iso10126.js 1KB
hmac-ripemd160.js 440B
docs
QuickStartGuide.wiki 18KB
._QuickStartGuide.wiki 4KB
hmac-sha3.js 462B
lib-typedarrays.js 2KB
crypto-js.js 189KB
package.json 662B
tripledes.js 24KB
hmac-sha1.js 425B
pad-nopadding.js 554B
mode-ofb.js 1KB
enc-hex.js 359B
core.js 23KB
format-hex.js 2KB
sha3.js 10KB
hmac-sha224.js 464B
enc-utf8.js 360B
index.js 2KB
hmac-md5.js 422B
mode-cfb.js 2KB
mode-ctr.js 1KB
hmac-sha256.js 431B
sha384.js 2KB
enc-latin1.js 362B
README.md 5KB
bower.json 588B
rabbit.js 7KB
evpkdf.js 4KB
28da9e0d1bfe3509eb26253d3d1f9f9.png 61KB
共 56 条
- 1
资源评论
黑漆#000000
- 粉丝: 20
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功