master
yutent 2023-12-27 10:27:33 +08:00
parent 9f891e75f5
commit ccb17bfd12
2 changed files with 10 additions and 2 deletions

View File

@ -3,6 +3,11 @@
## 更新日志 ## 更新日志
+ v3.2.0
- 调整`cipher,decipher,cipheriv,decipheriv`的传参和返回结果, `aes-gcm`等算法,`tag`会拼接在密文后面。
- 增加`crypto`属性返回, 该属性为`原生crypto对象`
- 原`origin`属性标识为`Deprecated`,v4.0之后会直接移除。
+ v3.1.2 + v3.1.2
- 优化`uuid()`, 增加有序性 - 优化`uuid()`, 增加有序性
@ -241,12 +246,14 @@ crypto.hmac('md5', '123456', 'sdfvkjfhd')
> 在上面的2种算法中加密都是不可逆的也就是说加密后的字符我们是没办法再还原回去了但是有很多场景需要我们对拿到的加密字符还原到明文状态。 > 在上面的2种算法中加密都是不可逆的也就是说加密后的字符我们是没办法再还原回去了但是有很多场景需要我们对拿到的加密字符还原到明文状态。
> 所以出现了公钥加密这种算法; 而`Node.js`本身给我们提供了4种与公钥加密相关的类`Cipher/Decipher、Sign、Verify`这里只讲前面2个以及它们衍生出来的`Cipheriv/Decipheriv`; > 所以出现了公钥加密这种算法; 而`Node.js`本身给我们提供了4种与公钥加密相关的类`Cipher/Decipher、Sign、Verify`这里只讲前面2个以及它们衍生出来的`Cipheriv/Decipheriv`;
>> Nodejs v10.0之后该方法为Deprecated, 推荐使用 cipheriv()
#### cipher(mode, data[, key, inEncode, outEncode]) #### cipher(mode, data[, key, inEncode, outEncode])
- mode `<String>` - mode `<String>`
- data `<String>` | `<Buffer>` - data `<String>` | `<Buffer>`
- key `<String>` 可选, 默认为 `<Buffer d7 2c 87 d0 f0 77 c7 76 6f 29 85 df ab 30 e8 95>`, 即 `crypto.scryptSync('', '', 16)` 的结果 - key `<String>` 可选, 默认为 `<Buffer d7 2c 87 d0 f0 77 c7 76 6f 29 85 df ab 30 e8 95>`, 即 `crypto.scryptSync('', '', 16)` 的结果
- inEncode '<String>' 可选 - inEncode '<String>' 可选
- outEncode '<String>' 可选,默认base64 - outEncode '<String>' 可选,默认返回Buffer对象
> `crypto.js v3.x`开始, `cipher()`内部改成调用 `cipheriv()`, 如果有特别原因, 仍然要调用的话, 请使用 `2.x版本` > `crypto.js v3.x`开始, `cipher()`内部改成调用 `cipheriv()`, 如果有特别原因, 仍然要调用的话, 请使用 `2.x版本`
@ -287,6 +294,8 @@ crypto.cipheriv('aes-128-cbc', '123456', {key}, EMPTY_IV) // 其中 EMPTY_IV = c
> 这是与上面的`cipher`对应的解密方法; > 这是与上面的`cipher`对应的解密方法;
>> Nodejs v10.0之后该方法为Deprecated, 推荐使用 decipheriv()
```javascript ```javascript
// 这里不用指定编码默认即为base64 // 这里不用指定编码默认即为base64
crypto.decipher('aes-128-cbc', 'mqA9ZPh9VV+fwKlfpicGVg==', 'abcdefg') crypto.decipher('aes-128-cbc', 'mqA9ZPh9VV+fwKlfpicGVg==', 'abcdefg')

View File

@ -1,6 +1,5 @@
{ {
"name": "crypto.js", "name": "crypto.js",
"type": "module",
"version": "3.2.0", "version": "3.2.0",
"description": "原生crypto加密模块的二次封装,简化常用加密函数的使用", "description": "原生crypto加密模块的二次封装,简化常用加密函数的使用",
"keywords": [ "keywords": [