summaryrefslogtreecommitdiffstats
path: root/node_modules/browserify-cipher/browser.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/browserify-cipher/browser.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/browserify-cipher/browser.js')
-rw-r--r--node_modules/browserify-cipher/browser.js67
1 files changed, 67 insertions, 0 deletions
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