Added logging, changed some directory structure

This commit is contained in:
2018-01-13 21:33:40 -05:00
parent f079a5f067
commit 8e72ffb917
73656 changed files with 35284 additions and 53718 deletions

View File

@@ -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', new Buffer("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
```

View 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)
}

View File

@@ -0,0 +1 @@
module.exports = require('crypto').createHmac

View 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

View File

@@ -0,0 +1,75 @@
{
"_args": [
[
"create-hmac@1.1.6",
"C:\\Users\\deranjer\\go\\src\\github.com\\deranjer\\goTorrent\\torrent-project"
]
],
"_from": "create-hmac@1.1.6",
"_id": "create-hmac@1.1.6",
"_inBundle": false,
"_integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
"_location": "/react-scripts/create-hmac",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "create-hmac@1.1.6",
"name": "create-hmac",
"escapedName": "create-hmac",
"rawSpec": "1.1.6",
"saveSpec": null,
"fetchSpec": "1.1.6"
},
"_requiredBy": [
"/react-scripts/browserify-sign",
"/react-scripts/crypto-browserify",
"/react-scripts/pbkdf2"
],
"_resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
"_spec": "1.1.6",
"_where": "C:\\Users\\deranjer\\go\\src\\github.com\\deranjer\\goTorrent\\torrent-project",
"author": "",
"browser": "./browser.js",
"bugs": {
"url": "https://github.com/crypto-browserify/createHmac/issues"
},
"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"
},
"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.6"
}