更新文档

master
yutent 2024-03-11 16:48:18 +08:00
parent 725d2e1231
commit 6740bed15b
2 changed files with 5 additions and 15 deletions

View File

@ -260,7 +260,7 @@ crypto.hmac('md5', '123456', 'sdfvkjfhd')
> `mode`为算法类型,常见的有`aes-128-cbc、aes-128-gcm`等等地,很多,具体有哪些可以通过 `this.crypto.getCiphers()` 来查看。 > `mode`为算法类型,常见的有`aes-128-cbc、aes-128-gcm`等等地,很多,具体有哪些可以通过 `this.crypto.getCiphers()` 来查看。
> 其他的参数与上面的HMAC算法相似; `inEncode`即声明要加密的数据是什么编码的,默认根据要加密的数据进行判断。 > 其他的参数与上面的HMAC算法相似; `inEncode`即声明要加密的数据是什么编码的,默认根据要加密的数据进行判断。
>> 需要注意的是, 算法类型为`aes-***-gcm`时, 返回的不是一个字符串, 而是一个对象{ enStr, authTag }, 解密时, 需要提供这个 authTag方可解密
```javascript ```javascript
// 这里给出一个AES-128-CBC的加密例子 // 这里给出一个AES-128-CBC的加密例子
@ -271,16 +271,12 @@ crypto.cipher('aes-128-cbc', '123456', 'abcdefg')
crypto.cipher('aes-128-cbc', '123456', 'abcdefg', 'utf8', 'hex') crypto.cipher('aes-128-cbc', '123456', 'abcdefg', 'utf8', 'hex')
// 9aa03d64f87d555f9fc0a95fa6270656 // 9aa03d64f87d555f9fc0a95fa6270656
// 要注意gcm算法的结果
crypto.cipher('aes-128-gcm', '123456', 'abcdefg')
// { enStr: 'qmo1a4Jz',
// authTag: <Buffer c4 a0 3e ab e5 34 a0 ea 25 02 f0 91 06 f7 3b dd>
// }
// v3.x 之后, decipher()同理 // v3.x 之后, decipher()同理
crypto.cipher('aes-128-cbc', '123456', {key}) crypto.cipher('aes-128-cbc', '123456', {key})
// 等价于 // 等价于
crypto.cipheriv('aes-128-cbc', '123456', {key}, EMPTY_IV) // 其中 EMPTY_IV = crypto.scryptSync('', '', 16) crypto.cipheriv('aes-128-cbc', '123456', {key}, EMPTY_IV) // 其中 EMPTY_IV = Buffer.alloc(16)
``` ```
@ -308,14 +304,8 @@ crypto.decipher('aes-128-cbc', '9aa03d64f87d555f9fc0a95fa6270656', 'abcdefg', 'h
// 要注意gcm算法的结果
// authTag: <Buffer c4 a0 3e ab e5 34 a0 ea 25 02 f0 91 06 f7 3b dd>
crypto.decipher('aes-128-gcm', 'qmo1a4Jz', 'abcdefg', authTag)
// 123456
``` ```
> 至于另外的`cipheriv/decipheriv`这2个方法这里就不细讲了和上面的这2个是同样的用法只是要多1个参数`向量(iv)` > 至于另外的`cipheriv/decipheriv`这2个方法这里就不细讲了和上面的这2个是同样的用法只是要多1个参数`向量(iv)`
>> **`特别要注意的一点是选择128位的加密算法那key的长度就必须是16位256则是32位依此类推; 算法类型为gcm时,返回的是对象,解密时需要提供authTag `,具体的请看相关文档** >> **`特别要注意的一点是选择128位的加密算法那key的长度就必须是16位256则是32位依此类推`,具体的请看相关文档**

View File

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