first commit
This commit is contained in:
6
build/node_modules/browserify-cipher/.travis.yml
generated
vendored
Normal file
6
build/node_modules/browserify-cipher/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- "0.11"
|
||||
- "0.10"
|
||||
- "0.12"
|
||||
- "iojs"
|
||||
73
build/node_modules/browserify-cipher/browser.js
generated
vendored
Normal file
73
build/node_modules/browserify-cipher/browser.js
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
var ebtk = require('evp_bytestokey')
|
||||
var aes = require('browserify-aes/browser')
|
||||
var DES = require('browserify-des')
|
||||
var desModes = require('browserify-des/modes')
|
||||
var aesModes = require('browserify-aes/modes')
|
||||
function createCipher (suite, password) {
|
||||
var keyLen, ivLen
|
||||
suite = suite.toLowerCase()
|
||||
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) {
|
||||
var keyLen, ivLen
|
||||
suite = suite.toLowerCase()
|
||||
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)
|
||||
} else if (desModes[suite]) {
|
||||
return new DES({
|
||||
key: key,
|
||||
iv: iv,
|
||||
mode: suite
|
||||
})
|
||||
} else {
|
||||
throw new TypeError('invalid suite type')
|
||||
}
|
||||
}
|
||||
function createDecipheriv (suite, key, iv) {
|
||||
suite = suite.toLowerCase()
|
||||
if (aesModes[suite]) {
|
||||
return aes.createDecipheriv(suite, key, iv)
|
||||
} else if (desModes[suite]) {
|
||||
return new DES({
|
||||
key: key,
|
||||
iv: iv,
|
||||
mode: suite,
|
||||
decrypt: true
|
||||
})
|
||||
} else {
|
||||
throw new TypeError('invalid suite type')
|
||||
}
|
||||
}
|
||||
exports.createCipher = exports.Cipher = createCipher
|
||||
exports.createCipheriv = exports.Cipheriv = createCipheriv
|
||||
exports.createDecipher = exports.Decipher = createDecipher
|
||||
exports.createDecipheriv = exports.Decipheriv = createDecipheriv
|
||||
function getCiphers () {
|
||||
return Object.keys(desModes).concat(aes.getCiphers())
|
||||
}
|
||||
exports.listCiphers = exports.getCiphers = getCiphers
|
||||
7
build/node_modules/browserify-cipher/index.js
generated
vendored
Normal file
7
build/node_modules/browserify-cipher/index.js
generated
vendored
Normal file
@@ -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
|
||||
58
build/node_modules/browserify-cipher/package.json
generated
vendored
Normal file
58
build/node_modules/browserify-cipher/package.json
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"_from": "browserify-cipher@^1.0.0",
|
||||
"_id": "browserify-cipher@1.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
|
||||
"_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.0.tgz",
|
||||
"_shasum": "9988244874bf5ed4e28da95666dcd66ac8fc363a",
|
||||
"_spec": "browserify-cipher@^1.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/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": "^5.3.1",
|
||||
"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.0"
|
||||
}
|
||||
7
build/node_modules/browserify-cipher/readme.md
generated
vendored
Normal file
7
build/node_modules/browserify-cipher/readme.md
generated
vendored
Normal file
@@ -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.
|
||||
55
build/node_modules/browserify-cipher/test.js
generated
vendored
Normal file
55
build/node_modules/browserify-cipher/test.js
generated
vendored
Normal file
@@ -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)
|
||||
})
|
||||
Reference in New Issue
Block a user