parent
9f5580edfa
commit
704a806e49
11
Readme.md
11
Readme.md
|
@ -65,7 +65,7 @@ crypto.md5('hello world', 'base64') // XrY7u+Ae7tCTyyK7j1rNww==
|
||||||
### md5Sign(file)
|
### md5Sign(file)
|
||||||
- file `<String>`
|
- file `<String>`
|
||||||
|
|
||||||
> 该方法用于计算文件的md5签名,`file`即为文件的绝对路径。
|
> 该方法用于计算文件的md5签名,`file`即为文件的路径。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
crypto.md5Sign('xx.jpg')
|
crypto.md5Sign('xx.jpg')
|
||||||
|
@ -89,7 +89,7 @@ crypto.sha1('hello world', 'base64') // Kq5sNclPz7QV2+lfQIuc6R7oRu0=
|
||||||
### sha1Sign(file)
|
### sha1Sign(file)
|
||||||
- file `<String>`
|
- file `<String>`
|
||||||
|
|
||||||
> 该方法用于计算文件的sha1签名,`file`即为文件的绝对路径。
|
> 该方法用于计算文件的sha1签名,`file`即为文件的路径。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
crypto.sha1Sign('xx.jpg')
|
crypto.sha1Sign('xx.jpg')
|
||||||
|
@ -103,6 +103,13 @@ crypto.sha1Sign('xx.jpg')
|
||||||
> 自然这方法,也没啥好说的了。
|
> 自然这方法,也没啥好说的了。
|
||||||
|
|
||||||
|
|
||||||
|
### sha256Sign(file)
|
||||||
|
- file `<String>`
|
||||||
|
|
||||||
|
> 都懂的。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### base64encode(str[, urlFriendly])
|
### base64encode(str[, urlFriendly])
|
||||||
- str `<Number>` | `<String>` | `<Buffer>`
|
- str `<Number>` | `<String>` | `<Buffer>`
|
||||||
|
|
28
index.js
28
index.js
|
@ -116,9 +116,11 @@ module.exports = {
|
||||||
},
|
},
|
||||||
|
|
||||||
// 返回一个如下格式的 xxxxxxxx-xxxx-xxxx-xxxxxxxx 的唯一ID
|
// 返回一个如下格式的 xxxxxxxx-xxxx-xxxx-xxxxxxxx 的唯一ID
|
||||||
uuid() {
|
uuid(line = true) {
|
||||||
let rand = CRYPTO.randomBytes(8).toString('hex')
|
let rand = CRYPTO.randomBytes(8).toString('hex')
|
||||||
let now = (Date.now() / 1000).toString(16).slice(0, 8)
|
let now = (Date.now() / 1000).toString(16).slice(0, 8)
|
||||||
|
|
||||||
|
let pipe = line ? '-' : ''
|
||||||
if (this.__stamp__ === now) {
|
if (this.__stamp__ === now) {
|
||||||
this.__inc__++
|
this.__inc__++
|
||||||
} else {
|
} else {
|
||||||
|
@ -127,8 +129,15 @@ module.exports = {
|
||||||
}
|
}
|
||||||
rand = this.__inc__.toString(16) + rand
|
rand = this.__inc__.toString(16) + rand
|
||||||
|
|
||||||
rand = rand.slice(0, 4) + '-' + rand.slice(4, 8) + '-' + rand.slice(8, 16)
|
return (
|
||||||
return this.__stamp__ + '-' + rand
|
this.__stamp__ +
|
||||||
|
pipe +
|
||||||
|
rand.slice(0, 4) +
|
||||||
|
pipe +
|
||||||
|
rand.slice(4, 8) +
|
||||||
|
pipe +
|
||||||
|
rand.slice(8, 16)
|
||||||
|
)
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -205,6 +214,19 @@ module.exports = {
|
||||||
return this.hash('sha256', str, encoding)
|
return this.hash('sha256', str, encoding)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* [sha256Sign 获取文件的sha256签名]
|
||||||
|
* @param {Str} file [文件路径]
|
||||||
|
*/
|
||||||
|
sha256Sign(file) {
|
||||||
|
if (!FS.existsSync(file)) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
let fileStream = FS.readFileSync(file)
|
||||||
|
return this.hash('sha256', fileStream)
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [base64encode base64加密]
|
* [base64encode base64加密]
|
||||||
* @param {Str/Num/Buffer} str [要加密的字符串]
|
* @param {Str/Num/Buffer} str [要加密的字符串]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "crypto.js",
|
"name": "crypto.js",
|
||||||
"version": "1.2.1",
|
"version": "1.3.0",
|
||||||
"description": "原生crypto加密模块的二次封装,简化常用加密函数的使用",
|
"description": "原生crypto加密模块的二次封装,简化常用加密函数的使用",
|
||||||
"keywords": ["md5", "sha1", "base64", "fivejs", "crypto"],
|
"keywords": ["md5", "sha1", "base64", "fivejs", "crypto"],
|
||||||
"author": "yutent <yutent@doui.cc>",
|
"author": "yutent <yutent@doui.cc>",
|
||||||
|
|
Loading…
Reference in New Issue