sdfsdfs
This commit is contained in:
21
node_modules/create-hmac/LICENSE
generated
vendored
Normal file
21
node_modules/create-hmac/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 crypto-browserify contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
20
node_modules/create-hmac/README.md
generated
vendored
Normal file
20
node_modules/create-hmac/README.md
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# create-hmac
|
||||
|
||||
[](https://www.npmjs.org/package/create-hmac)
|
||||
[](https://travis-ci.org/crypto-browserify/createHmac)
|
||||
[](https://david-dm.org/crypto-browserify/createHmac#info=dependencies)
|
||||
|
||||
[](https://github.com/feross/standard)
|
||||
|
||||
Node style HMACs for use in the browser, with native HMAC functions in node. API is the same as HMACs in node:
|
||||
|
||||
```js
|
||||
var createHmac = require('create-hmac')
|
||||
var hmac = createHmac('sha224', Buffer.from('secret key'))
|
||||
hmac.update('synchronous write') //optional encoding parameter
|
||||
hmac.digest() // synchronously get result with optional encoding parameter
|
||||
|
||||
hmac.write('write to it as a stream')
|
||||
hmac.end() //remember it's a stream
|
||||
hmac.read() //only if you ended it as a stream though
|
||||
```
|
62
node_modules/create-hmac/browser.js
generated
vendored
Normal file
62
node_modules/create-hmac/browser.js
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
'use strict'
|
||||
var inherits = require('inherits')
|
||||
var Legacy = require('./legacy')
|
||||
var Base = require('cipher-base')
|
||||
var Buffer = require('safe-buffer').Buffer
|
||||
var md5 = require('create-hash/md5')
|
||||
var RIPEMD160 = require('ripemd160')
|
||||
|
||||
var sha = require('sha.js')
|
||||
|
||||
var ZEROS = Buffer.alloc(128)
|
||||
|
||||
function Hmac (alg, key) {
|
||||
Base.call(this, 'digest')
|
||||
if (typeof key === 'string') {
|
||||
key = Buffer.from(key)
|
||||
}
|
||||
|
||||
var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
|
||||
|
||||
this._alg = alg
|
||||
this._key = key
|
||||
if (key.length > blocksize) {
|
||||
var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)
|
||||
key = hash.update(key).digest()
|
||||
} else if (key.length < blocksize) {
|
||||
key = Buffer.concat([key, ZEROS], blocksize)
|
||||
}
|
||||
|
||||
var ipad = this._ipad = Buffer.allocUnsafe(blocksize)
|
||||
var opad = this._opad = Buffer.allocUnsafe(blocksize)
|
||||
|
||||
for (var i = 0; i < blocksize; i++) {
|
||||
ipad[i] = key[i] ^ 0x36
|
||||
opad[i] = key[i] ^ 0x5C
|
||||
}
|
||||
this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)
|
||||
this._hash.update(ipad)
|
||||
}
|
||||
|
||||
inherits(Hmac, Base)
|
||||
|
||||
Hmac.prototype._update = function (data) {
|
||||
this._hash.update(data)
|
||||
}
|
||||
|
||||
Hmac.prototype._final = function () {
|
||||
var h = this._hash.digest()
|
||||
var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)
|
||||
return hash.update(this._opad).update(h).digest()
|
||||
}
|
||||
|
||||
module.exports = function createHmac (alg, key) {
|
||||
alg = alg.toLowerCase()
|
||||
if (alg === 'rmd160' || alg === 'ripemd160') {
|
||||
return new Hmac('rmd160', key)
|
||||
}
|
||||
if (alg === 'md5') {
|
||||
return new Legacy(md5, key)
|
||||
}
|
||||
return new Hmac(alg, key)
|
||||
}
|
1
node_modules/create-hmac/index.js
generated
vendored
Normal file
1
node_modules/create-hmac/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = require('crypto').createHmac
|
46
node_modules/create-hmac/legacy.js
generated
vendored
Normal file
46
node_modules/create-hmac/legacy.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
'use strict'
|
||||
var inherits = require('inherits')
|
||||
var Buffer = require('safe-buffer').Buffer
|
||||
|
||||
var Base = require('cipher-base')
|
||||
|
||||
var ZEROS = Buffer.alloc(128)
|
||||
var blocksize = 64
|
||||
|
||||
function Hmac (alg, key) {
|
||||
Base.call(this, 'digest')
|
||||
if (typeof key === 'string') {
|
||||
key = Buffer.from(key)
|
||||
}
|
||||
|
||||
this._alg = alg
|
||||
this._key = key
|
||||
|
||||
if (key.length > blocksize) {
|
||||
key = alg(key)
|
||||
} else if (key.length < blocksize) {
|
||||
key = Buffer.concat([key, ZEROS], blocksize)
|
||||
}
|
||||
|
||||
var ipad = this._ipad = Buffer.allocUnsafe(blocksize)
|
||||
var opad = this._opad = Buffer.allocUnsafe(blocksize)
|
||||
|
||||
for (var i = 0; i < blocksize; i++) {
|
||||
ipad[i] = key[i] ^ 0x36
|
||||
opad[i] = key[i] ^ 0x5C
|
||||
}
|
||||
|
||||
this._hash = [ipad]
|
||||
}
|
||||
|
||||
inherits(Hmac, Base)
|
||||
|
||||
Hmac.prototype._update = function (data) {
|
||||
this._hash.push(data)
|
||||
}
|
||||
|
||||
Hmac.prototype._final = function () {
|
||||
var h = this._alg(Buffer.concat(this._hash))
|
||||
return this._alg(Buffer.concat([this._opad, h]))
|
||||
}
|
||||
module.exports = Hmac
|
45
node_modules/create-hmac/package.json
generated
vendored
Normal file
45
node_modules/create-hmac/package.json
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "create-hmac",
|
||||
"version": "1.1.7",
|
||||
"description": "node style hmacs in the browser",
|
||||
"files": [
|
||||
"browser.js",
|
||||
"index.js",
|
||||
"legacy.js"
|
||||
],
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"standard": "standard",
|
||||
"test": "npm run-script standard && npm run-script unit",
|
||||
"unit": "node test.js | tspec"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/crypto-browserify/createHmac.git"
|
||||
},
|
||||
"keywords": [
|
||||
"crypto",
|
||||
"hmac"
|
||||
],
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/crypto-browserify/createHmac/issues"
|
||||
},
|
||||
"homepage": "https://github.com/crypto-browserify/createHmac",
|
||||
"devDependencies": {
|
||||
"hash-test-vectors": "^1.3.2",
|
||||
"standard": "^5.3.1",
|
||||
"tap-spec": "^2.1.2",
|
||||
"tape": "^3.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"cipher-base": "^1.0.3",
|
||||
"create-hash": "^1.1.0",
|
||||
"inherits": "^2.0.1",
|
||||
"ripemd160": "^2.0.0",
|
||||
"safe-buffer": "^5.0.1",
|
||||
"sha.js": "^2.4.8"
|
||||
},
|
||||
"browser": "./browser.js"
|
||||
}
|
Reference in New Issue
Block a user