first commit
This commit is contained in:
43
build/node_modules/browserify-des/index.js
generated
vendored
Normal file
43
build/node_modules/browserify-des/index.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
var CipherBase = require('cipher-base')
|
||||
var des = require('des.js')
|
||||
var inherits = require('inherits')
|
||||
|
||||
var modes = {
|
||||
'des-ede3-cbc': des.CBC.instantiate(des.EDE),
|
||||
'des-ede3': des.EDE,
|
||||
'des-ede-cbc': des.CBC.instantiate(des.EDE),
|
||||
'des-ede': des.EDE,
|
||||
'des-cbc': des.CBC.instantiate(des.DES),
|
||||
'des-ecb': des.DES
|
||||
}
|
||||
modes.des = modes['des-cbc']
|
||||
modes.des3 = modes['des-ede3-cbc']
|
||||
module.exports = DES
|
||||
inherits(DES, CipherBase)
|
||||
function DES (opts) {
|
||||
CipherBase.call(this)
|
||||
var modeName = opts.mode.toLowerCase()
|
||||
var mode = modes[modeName]
|
||||
var type
|
||||
if (opts.decrypt) {
|
||||
type = 'decrypt'
|
||||
} else {
|
||||
type = 'encrypt'
|
||||
}
|
||||
var key = opts.key
|
||||
if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {
|
||||
key = Buffer.concat([key, key.slice(0, 8)])
|
||||
}
|
||||
var iv = opts.iv
|
||||
this._des = mode.create({
|
||||
key: key,
|
||||
iv: iv,
|
||||
type: type
|
||||
})
|
||||
}
|
||||
DES.prototype._update = function (data) {
|
||||
return new Buffer(this._des.update(data))
|
||||
}
|
||||
DES.prototype._final = function () {
|
||||
return new Buffer(this._des.final())
|
||||
}
|
||||
24
build/node_modules/browserify-des/modes.js
generated
vendored
Normal file
24
build/node_modules/browserify-des/modes.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
exports['des-ecb'] = {
|
||||
key: 8,
|
||||
iv: 0
|
||||
}
|
||||
exports['des-cbc'] = exports.des = {
|
||||
key: 8,
|
||||
iv: 8
|
||||
}
|
||||
exports['des-ede3-cbc'] = exports.des3 = {
|
||||
key: 24,
|
||||
iv: 8
|
||||
}
|
||||
exports['des-ede3'] = {
|
||||
key: 24,
|
||||
iv: 0
|
||||
}
|
||||
exports['des-ede-cbc'] = {
|
||||
key: 16,
|
||||
iv: 8
|
||||
}
|
||||
exports['des-ede'] = {
|
||||
key: 16,
|
||||
iv: 0
|
||||
}
|
||||
57
build/node_modules/browserify-des/package.json
generated
vendored
Normal file
57
build/node_modules/browserify-des/package.json
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"_from": "browserify-des@^1.0.0",
|
||||
"_id": "browserify-des@1.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
|
||||
"_location": "/browserify-des",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "browserify-des@^1.0.0",
|
||||
"name": "browserify-des",
|
||||
"escapedName": "browserify-des",
|
||||
"rawSpec": "^1.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/browserify-cipher"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
|
||||
"_shasum": "daa277717470922ed2fe18594118a175439721dd",
|
||||
"_spec": "browserify-des@^1.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/browserify-cipher",
|
||||
"author": {
|
||||
"name": "Calvin Metcalf",
|
||||
"email": "calvin.metcalf@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/crypto-browserify/browserify-des/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"cipher-base": "^1.0.1",
|
||||
"des.js": "^1.0.0",
|
||||
"inherits": "^2.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "browserify-des ===",
|
||||
"devDependencies": {
|
||||
"standard": "^5.3.1",
|
||||
"tap-spec": "^4.1.0",
|
||||
"tape": "^4.2.0"
|
||||
},
|
||||
"homepage": "https://github.com/crypto-browserify/browserify-des#readme",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"name": "browserify-des",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/crypto-browserify/browserify-des.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "standard && node test.js | tspec"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
}
|
||||
4
build/node_modules/browserify-des/readme.md
generated
vendored
Normal file
4
build/node_modules/browserify-des/readme.md
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
browserify-des
|
||||
===
|
||||
|
||||
DES for browserify
|
||||
48
build/node_modules/browserify-des/test.js
generated
vendored
Normal file
48
build/node_modules/browserify-des/test.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
var test = require('tape')
|
||||
var DES = require('./')
|
||||
var modes = require('./modes')
|
||||
var crypto = require('crypto')
|
||||
|
||||
Object.keys(modes).forEach(function (mode) {
|
||||
test(mode, function (t) {
|
||||
var i = 0
|
||||
while (++i < 10) {
|
||||
runOnce(i)
|
||||
}
|
||||
function runOnce (i) {
|
||||
t.test('run: ' + i, function (t) {
|
||||
t.plan(2)
|
||||
var key = crypto.randomBytes(modes[mode].key)
|
||||
var iv = crypto.randomBytes(modes[mode].iv)
|
||||
var text = crypto.randomBytes(200)
|
||||
var ourEncrypt
|
||||
try {
|
||||
ourEncrypt = new DES({
|
||||
mode: mode,
|
||||
key: key,
|
||||
iv: 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 nodeCipherText = Buffer.concat([nodeEncrypt.update(text), nodeEncrypt.final()])
|
||||
t.equals(nodeCipherText.toString('hex'), ourCipherText.toString('hex'))
|
||||
var ourDecrypt = new DES({
|
||||
mode: mode,
|
||||
key: key,
|
||||
iv: iv,
|
||||
decrypt: true
|
||||
})
|
||||
var plainText = Buffer.concat([ourDecrypt.update(ourCipherText), ourDecrypt.final()])
|
||||
t.equals(text.toString('hex'), plainText.toString('hex'))
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user