1 line
4.6 KiB
JSON
1 line
4.6 KiB
JSON
{"ast":null,"code":"var Buffer = require('safe-buffer').Buffer;\n\nvar MD5 = require('md5.js');\n/* eslint-disable camelcase */\n\n\nfunction EVP_BytesToKey(password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary');\n\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary');\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length');\n }\n\n var keyLen = keyBits / 8;\n var key = Buffer.alloc(keyLen);\n var iv = Buffer.alloc(ivLen || 0);\n var tmp = Buffer.alloc(0);\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5();\n hash.update(tmp);\n hash.update(password);\n if (salt) hash.update(salt);\n tmp = hash.digest();\n var used = 0;\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen;\n used = Math.min(keyLen, tmp.length);\n tmp.copy(key, keyStart, 0, used);\n keyLen -= used;\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen;\n var length = Math.min(ivLen, tmp.length - used);\n tmp.copy(iv, ivStart, used, used + length);\n ivLen -= length;\n }\n }\n\n tmp.fill(0);\n return {\n key: key,\n iv: iv\n };\n}\n\nmodule.exports = EVP_BytesToKey;","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/evp_bytestokey/index.js"],"names":["Buffer","require","MD5","EVP_BytesToKey","password","salt","keyBits","ivLen","isBuffer","from","length","RangeError","keyLen","key","alloc","iv","tmp","hash","update","digest","used","keyStart","Math","min","copy","ivStart","fill","module","exports"],"mappings":"AAAA,IAAIA,MAAM,GAAGC,OAAO,CAAC,aAAD,CAAP,CAAuBD,MAApC;;AACA,IAAIE,GAAG,GAAGD,OAAO,CAAC,QAAD,CAAjB;AAEA;;;AACA,SAASE,cAAT,CAAyBC,QAAzB,EAAmCC,IAAnC,EAAyCC,OAAzC,EAAkDC,KAAlD,EAAyD;AACvD,MAAI,CAACP,MAAM,CAACQ,QAAP,CAAgBJ,QAAhB,CAAL,EAAgCA,QAAQ,GAAGJ,MAAM,CAACS,IAAP,CAAYL,QAAZ,EAAsB,QAAtB,CAAX;;AAChC,MAAIC,IAAJ,EAAU;AACR,QAAI,CAACL,MAAM,CAACQ,QAAP,CAAgBH,IAAhB,CAAL,EAA4BA,IAAI,GAAGL,MAAM,CAACS,IAAP,CAAYJ,IAAZ,EAAkB,QAAlB,CAAP;AAC5B,QAAIA,IAAI,CAACK,MAAL,KAAgB,CAApB,EAAuB,MAAM,IAAIC,UAAJ,CAAe,0CAAf,CAAN;AACxB;;AAED,MAAIC,MAAM,GAAGN,OAAO,GAAG,CAAvB;AACA,MAAIO,GAAG,GAAGb,MAAM,CAACc,KAAP,CAAaF,MAAb,CAAV;AACA,MAAIG,EAAE,GAAGf,MAAM,CAACc,KAAP,CAAaP,KAAK,IAAI,CAAtB,CAAT;AACA,MAAIS,GAAG,GAAGhB,MAAM,CAACc,KAAP,CAAa,CAAb,CAAV;;AAEA,SAAOF,MAAM,GAAG,CAAT,IAAcL,KAAK,GAAG,CAA7B,EAAgC;AAC9B,QAAIU,IAAI,GAAG,IAAIf,GAAJ,EAAX;AACAe,IAAAA,IAAI,CAACC,MAAL,CAAYF,GAAZ;AACAC,IAAAA,IAAI,CAACC,MAAL,CAAYd,QAAZ;AACA,QAAIC,IAAJ,EAAUY,IAAI,CAACC,MAAL,CAAYb,IAAZ;AACVW,IAAAA,GAAG,GAAGC,IAAI,CAACE,MAAL,EAAN;AAEA,QAAIC,IAAI,GAAG,CAAX;;AAEA,QAAIR,MAAM,GAAG,CAAb,EAAgB;AACd,UAAIS,QAAQ,GAAGR,GAAG,CAACH,MAAJ,GAAaE,MAA5B;AACAQ,MAAAA,IAAI,GAAGE,IAAI,CAACC,GAAL,CAASX,MAAT,EAAiBI,GAAG,CAACN,MAArB,CAAP;AACAM,MAAAA,GAAG,CAACQ,IAAJ,CAASX,GAAT,EAAcQ,QAAd,EAAwB,CAAxB,EAA2BD,IAA3B;AACAR,MAAAA,MAAM,IAAIQ,IAAV;AACD;;AAED,QAAIA,IAAI,GAAGJ,GAAG,CAACN,MAAX,IAAqBH,KAAK,GAAG,CAAjC,EAAoC;AAClC,UAAIkB,OAAO,GAAGV,EAAE,CAACL,MAAH,GAAYH,KAA1B;AACA,UAAIG,MAAM,GAAGY,IAAI,CAACC,GAAL,CAAShB,KAAT,EAAgBS,GAAG,CAACN,MAAJ,GAAaU,IAA7B,CAAb;AACAJ,MAAAA,GAAG,CAACQ,IAAJ,CAAST,EAAT,EAAaU,OAAb,EAAsBL,IAAtB,EAA4BA,IAAI,GAAGV,MAAnC;AACAH,MAAAA,KAAK,IAAIG,MAAT;AACD;AACF;;AAEDM,EAAAA,GAAG,CAACU,IAAJ,CAAS,CAAT;AACA,SAAO;AAAEb,IAAAA,GAAG,EAAEA,GAAP;AAAYE,IAAAA,EAAE,EAAEA;AAAhB,GAAP;AACD;;AAEDY,MAAM,CAACC,OAAP,GAAiBzB,cAAjB","sourcesContent":["var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n"]},"metadata":{},"sourceType":"script"} |