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,6 @@
language: node_js
node_js:
- "0.11"
- "0.10"
- "0.12"
- "iojs"

View 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

View 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

View File

@@ -0,0 +1,61 @@
{
"_args": [
[
"browserify-cipher@1.0.0",
"C:\\Users\\deranjer\\go\\src\\github.com\\deranjer\\goTorrent\\torrent-project"
]
],
"_from": "browserify-cipher@1.0.0",
"_id": "browserify-cipher@1.0.0",
"_inBundle": false,
"_integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
"_location": "/webpack/browserify-cipher",
"_phantomChildren": {},
"_requested": {
"type": "version",
"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": [
"/webpack/crypto-browserify"
],
"_resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
"_spec": "1.0.0",
"_where": "C:\\Users\\deranjer\\go\\src\\github.com\\deranjer\\goTorrent\\torrent-project",
"author": {
"name": "Calvin Metcalf",
"email": "calvin.metcalf@gmail.com"
},
"browser": "browser.js",
"bugs": {
"url": "https://github.com/crypto-browserify/browserify-cipher/issues"
},
"dependencies": {
"browserify-aes": "^1.0.4",
"browserify-des": "^1.0.0",
"evp_bytestokey": "^1.0.0"
},
"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"
}

View File

@@ -0,0 +1,7 @@
browserify-cipher
===
[![Build Status](https://travis-ci.org/crypto-browserify/browserify-cipher.svg)](https://travis-ci.org/crypto-browserify/browserify-cipher)
Provides createCipher, createDecipher, createCipheriv, createDecipheriv and
getCiphers for the browserify. Includes AES and DES ciphers.

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