增加sha256Sign方法;uuid增加配置

master 1.3.0
宇天 2019-06-17 17:11:53 +08:00
parent 9f5580edfa
commit 704a806e49
3 changed files with 35 additions and 6 deletions

View File

@ -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>`

View File

@ -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 [要加密的字符串]

View File

@ -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>",