summaryrefslogtreecommitdiffstats
path: root/node_modules/create-hmac
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/create-hmac
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/create-hmac')
-rw-r--r--node_modules/create-hmac/LICENSE21
-rw-r--r--node_modules/create-hmac/README.md20
-rw-r--r--node_modules/create-hmac/browser.js62
-rw-r--r--node_modules/create-hmac/index.js1
-rw-r--r--node_modules/create-hmac/legacy.js46
-rw-r--r--node_modules/create-hmac/package.json72
6 files changed, 222 insertions, 0 deletions
diff --git a/node_modules/create-hmac/LICENSE b/node_modules/create-hmac/LICENSE
new file mode 100644
index 0000000..f06007a
--- /dev/null
+++ b/node_modules/create-hmac/LICENSE
@@ -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.
diff --git a/node_modules/create-hmac/README.md b/node_modules/create-hmac/README.md
new file mode 100644
index 0000000..e8de47f
--- /dev/null
+++ b/node_modules/create-hmac/README.md
@@ -0,0 +1,20 @@
+# create-hmac
+
+[![NPM Package](https://img.shields.io/npm/v/create-hmac.svg?style=flat-square)](https://www.npmjs.org/package/create-hmac)
+[![Build Status](https://img.shields.io/travis/crypto-browserify/createHmac.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/createHmac)
+[![Dependency status](https://img.shields.io/david/crypto-browserify/createHmac.svg?style=flat-square)](https://david-dm.org/crypto-browserify/createHmac#info=dependencies)
+
+[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](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
+```
diff --git a/node_modules/create-hmac/browser.js b/node_modules/create-hmac/browser.js
new file mode 100644
index 0000000..a5c9b61
--- /dev/null
+++ b/node_modules/create-hmac/browser.js
@@ -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)
+}
diff --git a/node_modules/create-hmac/index.js b/node_modules/create-hmac/index.js
new file mode 100644
index 0000000..ec8c4f7
--- /dev/null
+++ b/node_modules/create-hmac/index.js
@@ -0,0 +1 @@
+module.exports = require('crypto').createHmac
diff --git a/node_modules/create-hmac/legacy.js b/node_modules/create-hmac/legacy.js
new file mode 100644
index 0000000..5039c2a
--- /dev/null
+++ b/node_modules/create-hmac/legacy.js
@@ -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
diff --git a/node_modules/create-hmac/package.json b/node_modules/create-hmac/package.json
new file mode 100644
index 0000000..31a89b2
--- /dev/null
+++ b/node_modules/create-hmac/package.json
@@ -0,0 +1,72 @@
+{
+ "_from": "create-hmac@^1.1.0",
+ "_id": "create-hmac@1.1.7",
+ "_inBundle": false,
+ "_integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "_location": "/create-hmac",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "create-hmac@^1.1.0",
+ "name": "create-hmac",
+ "escapedName": "create-hmac",
+ "rawSpec": "^1.1.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.1.0"
+ },
+ "_requiredBy": [
+ "/browserify-sign",
+ "/crypto-browserify",
+ "/pbkdf2"
+ ],
+ "_resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "_shasum": "69170c78b3ab957147b2b8b04572e47ead2243ff",
+ "_spec": "create-hmac@^1.1.0",
+ "_where": "/home/pruss/Dev/3-minute-website/node_modules/crypto-browserify",
+ "author": "",
+ "browser": "./browser.js",
+ "bugs": {
+ "url": "https://github.com/crypto-browserify/createHmac/issues"
+ },
+ "bundleDependencies": false,
+ "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"
+ },
+ "deprecated": false,
+ "description": "node style hmacs in the browser",
+ "devDependencies": {
+ "hash-test-vectors": "^1.3.2",
+ "standard": "^5.3.1",
+ "tap-spec": "^2.1.2",
+ "tape": "^3.0.3"
+ },
+ "files": [
+ "browser.js",
+ "index.js",
+ "legacy.js"
+ ],
+ "homepage": "https://github.com/crypto-browserify/createHmac",
+ "keywords": [
+ "crypto",
+ "hmac"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "create-hmac",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/crypto-browserify/createHmac.git"
+ },
+ "scripts": {
+ "standard": "standard",
+ "test": "npm run-script standard && npm run-script unit",
+ "unit": "node test.js | tspec"
+ },
+ "version": "1.1.7"
+}