diff options
author | 2020-11-16 00:10:28 +0100 | |
---|---|---|
committer | 2020-11-16 00:10:28 +0100 | |
commit | e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch) | |
tree | 55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/browserify-cipher | |
download | website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2 website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip |
api, login, auth
Diffstat (limited to 'node_modules/browserify-cipher')
-rw-r--r-- | node_modules/browserify-cipher/.travis.yml | 14 | ||||
-rw-r--r-- | node_modules/browserify-cipher/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/browserify-cipher/README.md | 7 | ||||
-rw-r--r-- | node_modules/browserify-cipher/browser.js | 67 | ||||
-rw-r--r-- | node_modules/browserify-cipher/index.js | 7 | ||||
-rw-r--r-- | node_modules/browserify-cipher/package.json | 58 | ||||
-rw-r--r-- | node_modules/browserify-cipher/test.js | 55 |
7 files changed, 229 insertions, 0 deletions
diff --git a/node_modules/browserify-cipher/.travis.yml b/node_modules/browserify-cipher/.travis.yml new file mode 100644 index 0000000..ad7554b --- /dev/null +++ b/node_modules/browserify-cipher/.travis.yml @@ -0,0 +1,14 @@ +sudo: false +language: node_js +node_js: + - "4" + - "5" + - "6" + - "7" +matrix: + include: + - node_js: "7" + env: TEST_SUITE=standard +env: + - TEST_SUITE=unit +script: npm run-script $TEST_SUITE diff --git a/node_modules/browserify-cipher/LICENSE b/node_modules/browserify-cipher/LICENSE new file mode 100644 index 0000000..a49f062 --- /dev/null +++ b/node_modules/browserify-cipher/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2017 Calvin Metcalf & 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/browserify-cipher/README.md b/node_modules/browserify-cipher/README.md new file mode 100644 index 0000000..3c0b157 --- /dev/null +++ b/node_modules/browserify-cipher/README.md @@ -0,0 +1,7 @@ +browserify-cipher +=== + +[](https://travis-ci.org/crypto-browserify/browserify-cipher) + +Provides createCipher, createDecipher, createCipheriv, createDecipheriv and +getCiphers for the browserify. Includes AES and DES ciphers. diff --git a/node_modules/browserify-cipher/browser.js b/node_modules/browserify-cipher/browser.js new file mode 100644 index 0000000..444825b --- /dev/null +++ b/node_modules/browserify-cipher/browser.js @@ -0,0 +1,67 @@ +var DES = require('browserify-des') +var aes = require('browserify-aes/browser') +var aesModes = require('browserify-aes/modes') +var desModes = require('browserify-des/modes') +var ebtk = require('evp_bytestokey') + +function createCipher (suite, password) { + suite = suite.toLowerCase() + + var keyLen, ivLen + if (aesModes[suite]) { + keyLen = aesModes[suite].key + ivLen = aesModes[suite].iv + } else if (desModes[suite]) { + keyLen = desModes[suite].key * 8 + ivLen = desModes[suite].iv + } else { + throw new TypeError('invalid suite type') + } + + var keys = ebtk(password, false, keyLen, ivLen) + return createCipheriv(suite, keys.key, keys.iv) +} + +function createDecipher (suite, password) { + suite = suite.toLowerCase() + + var keyLen, ivLen + if (aesModes[suite]) { + keyLen = aesModes[suite].key + ivLen = aesModes[suite].iv + } else if (desModes[suite]) { + keyLen = desModes[suite].key * 8 + ivLen = desModes[suite].iv + } else { + throw new TypeError('invalid suite type') + } + + var keys = ebtk(password, false, keyLen, ivLen) + return createDecipheriv(suite, keys.key, keys.iv) +} + +function createCipheriv (suite, key, iv) { + suite = suite.toLowerCase() + if (aesModes[suite]) return aes.createCipheriv(suite, key, iv) + if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite }) + + throw new TypeError('invalid suite type') +} + +function createDecipheriv (suite, key, iv) { + suite = suite.toLowerCase() + if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv) + if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true }) + + throw new TypeError('invalid suite type') +} + +function getCiphers () { + return Object.keys(desModes).concat(aes.getCiphers()) +} + +exports.createCipher = exports.Cipher = createCipher +exports.createCipheriv = exports.Cipheriv = createCipheriv +exports.createDecipher = exports.Decipher = createDecipher +exports.createDecipheriv = exports.Decipheriv = createDecipheriv +exports.listCiphers = exports.getCiphers = getCiphers diff --git a/node_modules/browserify-cipher/index.js b/node_modules/browserify-cipher/index.js new file mode 100644 index 0000000..58fa883 --- /dev/null +++ b/node_modules/browserify-cipher/index.js @@ -0,0 +1,7 @@ +var crypto = require('crypto') + +exports.createCipher = exports.Cipher = crypto.createCipher +exports.createCipheriv = exports.Cipheriv = crypto.createCipheriv +exports.createDecipher = exports.Decipher = crypto.createDecipher +exports.createDecipheriv = exports.Decipheriv = crypto.createDecipheriv +exports.listCiphers = exports.getCiphers = crypto.getCiphers diff --git a/node_modules/browserify-cipher/package.json b/node_modules/browserify-cipher/package.json new file mode 100644 index 0000000..ad94d2b --- /dev/null +++ b/node_modules/browserify-cipher/package.json @@ -0,0 +1,58 @@ +{ + "_from": "browserify-cipher@^1.0.0", + "_id": "browserify-cipher@1.0.1", + "_inBundle": false, + "_integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "_location": "/browserify-cipher", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "browserify-cipher@^1.0.0", + "name": "browserify-cipher", + "escapedName": "browserify-cipher", + "rawSpec": "^1.0.0", + "saveSpec": null, + "fetchSpec": "^1.0.0" + }, + "_requiredBy": [ + "/crypto-browserify" + ], + "_resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "_shasum": "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0", + "_spec": "browserify-cipher@^1.0.0", + "_where": "/home/pruss/Dev/3-minute-website/node_modules/crypto-browserify", + "author": { + "name": "Calvin Metcalf", + "email": "calvin.metcalf@gmail.com" + }, + "browser": "browser.js", + "bugs": { + "url": "https://github.com/crypto-browserify/browserify-cipher/issues" + }, + "bundleDependencies": false, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + }, + "deprecated": false, + "description": "ciphers for the browser", + "devDependencies": { + "standard": "^10.0.2", + "tap-spec": "^4.1.0", + "tape": "^4.2.0" + }, + "homepage": "https://github.com/crypto-browserify/browserify-cipher#readme", + "license": "MIT", + "main": "index.js", + "name": "browserify-cipher", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/crypto-browserify/browserify-cipher.git" + }, + "scripts": { + "test": "standard && node test.js | tspec" + }, + "version": "1.0.1" +} diff --git a/node_modules/browserify-cipher/test.js b/node_modules/browserify-cipher/test.js new file mode 100644 index 0000000..d4beaa0 --- /dev/null +++ b/node_modules/browserify-cipher/test.js @@ -0,0 +1,55 @@ +var test = require('tape') +var crypto = require('crypto') +var desModes = require('browserify-des/modes') +var aesModes = require('browserify-aes/modes') +var ourCrypto = require('./browser') + +function runIvTest (mode, keyLen, ivLen) { + test('mode: ' + mode, function (t) { + var i = 0 + while (++i < 10) { + run(i) + } + function run (i) { + t.test('run: ' + i, function (t) { + t.plan(2) + var key = crypto.randomBytes(keyLen) + var iv = crypto.randomBytes(ivLen) + var text = crypto.randomBytes(200) + var ourEncrypt + try { + ourEncrypt = ourCrypto.createCipheriv(mode, key, iv) + } catch (e) { + t.notOk(e, e.stack) + } + var nodeEncrypt + try { + nodeEncrypt = crypto.createCipheriv(mode, key, iv) + } catch (e) { + t.notOk(e, e.stack) + } + var ourCipherText = Buffer.concat([ourEncrypt.update(text), ourEncrypt.final()]) + var authTag + if (mode.slice(-3) === 'gcm') { + authTag = ourEncrypt.getAuthTag() + } + var nodeCipherText = Buffer.concat([nodeEncrypt.update(text), nodeEncrypt.final()]) + t.equals(nodeCipherText.toString('hex'), ourCipherText.toString('hex')) + var ourDecrypt = ourCrypto.createDecipheriv(mode, key, iv) + if (mode.slice(-3) === 'gcm') { + ourDecrypt.setAuthTag(authTag) + } + var plainText = Buffer.concat([ourDecrypt.update(ourCipherText), ourDecrypt.final()]) + t.equals(text.toString('hex'), plainText.toString('hex')) + }) + } + }) +} +Object.keys(aesModes).forEach(function (modeName) { + var mode = aesModes[modeName] + runIvTest(modeName, mode.key / 8, mode.iv) +}) +Object.keys(desModes).forEach(function (modeName) { + var mode = desModes[modeName] + runIvTest(modeName, mode.key, mode.iv) +}) |