iobroker.admin 7.7.2 → 7.7.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +120 -13
- package/admin/README.md +3 -0
- package/admin/admin.png +0 -0
- package/admin/i18n/de.json +1 -1
- package/admin/i18n/es.json +1 -1
- package/admin/i18n/fr.json +1 -1
- package/admin/i18n/it.json +1 -1
- package/admin/i18n/nl.json +1 -1
- package/admin/i18n/pl.json +1 -1
- package/admin/i18n/pt.json +1 -1
- package/admin/i18n/ru.json +1 -1
- package/admin/i18n/uk.json +1 -1
- package/admin/i18n/zh-cn.json +1 -1
- package/admin/jsonConfig.json5 +1 -2
- package/adminWww/assets/AdapterUpdateDialog-CJRQB5ud.js +2 -0
- package/adminWww/assets/Adapters-B5LWXJ3G.js +9 -0
- package/adminWww/assets/Config-D3mtokJQ.js +1 -0
- package/adminWww/assets/CustomModal-DCjdghJB.js +1 -0
- package/adminWww/assets/CustomTab-CBVvppVS.js +1 -0
- package/adminWww/assets/DefaultPropsProvider-BZ42HOhu.js +15 -0
- package/adminWww/assets/DefaultPropsProvider-DoV5d6EJ.js +1 -0
- package/adminWww/assets/EasyMode-CR0Vw-OT.js +1 -0
- package/adminWww/assets/Enums-BImz5cPM.js +111 -0
- package/adminWww/assets/Fields-V2W2HJlv.js +1 -0
- package/adminWww/assets/Files-Ci2XDKh8.js +6 -0
- package/adminWww/assets/FilledInput-0vrRQpr_.js +2 -0
- package/adminWww/assets/Google-FmfjVx6X.js +27 -0
- package/adminWww/assets/Hosts-AXD2lYOf.js +121 -0
- package/adminWww/assets/Instances-j88MVgOp.js +2 -0
- package/adminWww/assets/Intro-DH7_8X9J.js +2 -0
- package/adminWww/assets/Logs-BJEYaBGh.js +1 -0
- package/adminWww/assets/Objects-CeqK8jeG.js +60 -0
- package/adminWww/assets/State-DhReNijC.js +1 -0
- package/adminWww/assets/TextField-fjsX40wR.js +138 -0
- package/adminWww/assets/Users-BJgk5zRR.js +1 -0
- package/adminWww/assets/___vite-browser-external_commonjs-proxy-DMh1aSo_.js +1 -0
- package/adminWww/assets/_commonjs-dynamic-modules-TDtrdbi3.js +1 -0
- package/adminWww/assets/_commonjsHelpers-CE1G-McA.js +1 -0
- package/adminWww/assets/ace-DgO9yth5.js +985 -0
- package/adminWww/assets/assertThisInitialized-CKqanoMB.js +1 -0
- package/adminWww/assets/blueGrey-BFcAYvAO.js +29 -0
- package/adminWww/assets/{bootstrap-CrpeRPv0.css → bootstrap-DSlxhDzw.css} +1 -1
- package/adminWww/assets/bootstrap-xC60EdKn.js +303 -0
- package/adminWww/assets/createSvgIcon-CC7aIjya.js +1 -0
- package/adminWww/assets/createTheme-O_VGsRib.js +16 -0
- package/adminWww/assets/defaultTheme-CF56WVgQ.js +1 -0
- package/adminWww/assets/emotion-cache.browser.esm-BgJfNZJN.js +1 -0
- package/adminWww/assets/emotion-react.browser.esm-LdYA3M0T.js +8 -0
- package/adminWww/assets/emotion-serialize.esm-Q4o_CgeF.js +1 -0
- package/adminWww/assets/emotion-styled.browser.esm-D6u524ZG.js +1 -0
- package/adminWww/assets/emotion-use-insertion-effect-with-fallbacks.browser.esm-q3_hvwuL.js +1 -0
- package/adminWww/assets/en-US-B8gg5zk_.js +1 -0
- package/adminWww/assets/ext-language_tools-DJmHbGA8.js +389 -0
- package/adminWww/assets/geosearch.module-BN92cSpK.js +1 -0
- package/adminWww/assets/{hostInit-fzxL8JAx.js → hostInit-OBG53iVO.js} +2 -2
- package/adminWww/assets/iconBase-CB0tx1VT.js +1 -0
- package/adminWww/assets/{index-D--ojYan.js → index-28qkNZAi.js} +1 -1
- package/adminWww/assets/index-8V8iNIbi.js +5 -0
- package/adminWww/assets/{index-CJvbfjSs.js → index-B0C4gXUO.js} +1 -1
- package/adminWww/assets/index-B5NvG6mn.js +2 -0
- package/adminWww/assets/index-BVQ-ZSLt.js +10 -0
- package/adminWww/assets/index-B_eoqXoQ.js +890 -0
- package/adminWww/assets/index-Bc8bBbjM.js +15 -0
- package/adminWww/assets/{index-Co3YA5NW.js → index-BgpTxVrG.js} +1 -1
- package/adminWww/assets/{index-DTGUg51P.js → index-C73G-H4k.js} +2 -2
- package/adminWww/assets/{index-rKfs-rCa.js → index-CbQYNHIO.js} +1 -1
- package/adminWww/assets/index-ChtI58Wj.js +1 -0
- package/adminWww/assets/index-CkI9667U.js +1 -0
- package/adminWww/assets/index-DEgEIbz9.js +1 -0
- package/adminWww/assets/index-DYa0xJDK.js +1 -0
- package/adminWww/assets/index-Dy_ekAsY.js +1 -0
- package/adminWww/assets/index-d-Zo1uu9.js +55 -0
- package/adminWww/assets/{iobroker_admin__loadShare___mf_0_emotion_mf_1_react__loadShare__-BOKYvG_W.js → iobroker_admin__loadShare___mf_0_emotion_mf_1_react__loadShare__-CXogaIXO.js} +1 -1
- package/adminWww/assets/iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-D-aUnioX.js +1 -0
- package/adminWww/assets/iobroker_admin__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__-DQH_iIDO.js +1 -0
- package/adminWww/assets/iobroker_admin__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__-Dy1SQ0vs.js +1 -0
- package/adminWww/assets/{iobroker_admin__loadShare__leaflet__loadShare__-h9SMNPLU.js → iobroker_admin__loadShare__leaflet__loadShare__-BfU5U5_j.js} +1 -1
- package/adminWww/assets/iobroker_admin__loadShare__prop_mf_2_types__loadShare__-CpCTEixV.js +1 -0
- package/adminWww/assets/{iobroker_admin__loadShare__react__loadShare__-Bis6NHgw.js → iobroker_admin__loadShare__react__loadShare__-CMWK8WhK.js} +1 -1
- package/adminWww/assets/iobroker_admin__loadShare__react_mf_2_dom__loadShare__-GTRt2eft.js +1 -0
- package/adminWww/assets/iobroker_admin__loadShare__react_mf_2_dropzone__loadShare__-BF_gp27r.js +1 -0
- package/adminWww/assets/iobroker_admin__mf_v__runtimeInit__mf_v__-CHE4rLsT.js +5 -0
- package/adminWww/assets/leaflet-src-B98elavC.js +4 -0
- package/adminWww/assets/locale-ZVMVA5rz.js +1 -0
- package/adminWww/assets/pl-OOhGZ0tn.js +1 -0
- package/adminWww/assets/preload-helper-BDBacUwf.js +1 -0
- package/adminWww/assets/sdk-DTP6UH26.js +15 -0
- package/adminWww/assets/sentry-C8mPNiGL.js +1 -0
- package/adminWww/assets/useTheme-C-uGEZO5.js +1 -0
- package/adminWww/assets/useTheme-UOPilb5j.js +1 -0
- package/adminWww/assets/{zh-cn-vvAC9zpl.js → zh-cn-Dy5SHo8v.js} +13 -13
- package/adminWww/img/admin.png +0 -0
- package/adminWww/index.html +4 -4
- package/adminWww/lib/js/ace/ext-searchbox.js +1 -1
- package/adminWww/lib/js/socket.io.js +7 -1
- package/adminWww/mf-manifest.json +1 -1
- package/adminWww/remoteEntry.js +2 -2
- package/build/i18n/de.json +18 -0
- package/build/i18n/es.json +18 -0
- package/build/i18n/fr.json +18 -0
- package/build/i18n/it.json +18 -0
- package/build/i18n/nl.json +18 -0
- package/build/i18n/pl.json +18 -0
- package/build/i18n/pt.json +18 -0
- package/build/i18n/ru.json +18 -0
- package/build/i18n/uk.json +18 -0
- package/build/i18n/zh-cn.json +18 -0
- package/build/lib/checkLinuxPass.js.map +1 -0
- package/{build-backend → build}/lib/testPassword.js +1 -1
- package/build/lib/testPassword.js.map +1 -0
- package/{build-backend → build}/lib/translations.js +16 -1
- package/build/lib/translations.js.map +1 -0
- package/{build-backend → build}/lib/utils.js +20 -0
- package/build/lib/utils.js.map +1 -0
- package/{build-backend → build}/lib/web.js +6 -7
- package/build/lib/web.js.map +1 -0
- package/{build-backend → build}/main.js +68 -5
- package/build/main.js.map +1 -0
- package/io-package.json +27 -40
- package/package.json +117 -110
- package/adminWww/assets/AdapterUpdateDialog-DHGhgEEq.js +0 -2
- package/adminWww/assets/Adapters-CgSIajcF.js +0 -7
- package/adminWww/assets/Config-BQSl4bfA.js +0 -1
- package/adminWww/assets/CustomModal-DNMTLv4y.js +0 -1
- package/adminWww/assets/CustomTab-Bl8S8QZW.js +0 -1
- package/adminWww/assets/DefaultPropsProvider-u5xB1Fxz.js +0 -30
- package/adminWww/assets/EasyMode-xDbqrply.js +0 -1
- package/adminWww/assets/Enums-BSICIhWI.js +0 -111
- package/adminWww/assets/Fields-C3JkTmfP.js +0 -1
- package/adminWww/assets/Files-DK85-COY.js +0 -6
- package/adminWww/assets/FilledInput-CysG4ax_.js +0 -2
- package/adminWww/assets/Hosts-qIsB4Gub.js +0 -121
- package/adminWww/assets/Instances-BA_DCzs8.js +0 -2
- package/adminWww/assets/Intro-00oh6SLw.js +0 -2
- package/adminWww/assets/Logs-Cvpgh-zN.js +0 -1
- package/adminWww/assets/Objects-Dp71iotS.js +0 -60
- package/adminWww/assets/State-BqfD2ABf.js +0 -1
- package/adminWww/assets/Tabs-sxfWgN0b.js +0 -138
- package/adminWww/assets/Users-CDcWqTfZ.js +0 -1
- package/adminWww/assets/_commonjsHelpers-D6-XlEtG.js +0 -1
- package/adminWww/assets/ace-BG5WYul1.js +0 -985
- package/adminWww/assets/blueGrey-DYsiMDOn.js +0 -29
- package/adminWww/assets/bootstrap-BYQTdf9r.js +0 -2024
- package/adminWww/assets/createSvgIcon-Bh3KWtyp.js +0 -1
- package/adminWww/assets/emotion-cache.browser.esm-B8BFze5o.js +0 -1
- package/adminWww/assets/emotion-react.browser.esm-BCDt9NrH.js +0 -8
- package/adminWww/assets/emotion-serialize.esm-BUa21YfQ.js +0 -1
- package/adminWww/assets/emotion-styled.browser.esm-CyFqGgyG.js +0 -1
- package/adminWww/assets/emotion-utils.browser.esm-pglN4_eI.js +0 -1
- package/adminWww/assets/geosearch.module-DH4NhiPj.js +0 -1
- package/adminWww/assets/iconBase-C3vi24ZE.js +0 -1
- package/adminWww/assets/index-B1ITPhEY.js +0 -7
- package/adminWww/assets/index-C_-7Z7UV.js +0 -1
- package/adminWww/assets/index-D3IAEXXP.js +0 -10
- package/adminWww/assets/index-DPDg2YA0.js +0 -1
- package/adminWww/assets/index-Qa7Q_Dz5.js +0 -1
- package/adminWww/assets/index-qcIeekse.js +0 -55
- package/adminWww/assets/index-wN1ZlPSW.js +0 -2
- package/adminWww/assets/iobroker_admin__loadShare__prop_mf_2_types__loadShare__-BnsS7SOQ.js +0 -1
- package/adminWww/assets/iobroker_admin__mf_v__runtimeInit__mf_v__-CTkuGOOk.js +0 -5
- package/adminWww/assets/leaflet-src-A2ZHl6nF.js +0 -4
- package/adminWww/assets/locale-9HzB0nxi.js +0 -1
- package/adminWww/assets/preload-helper-Dp1pzeXC.js +0 -1
- package/adminWww/assets/sentry-H_UdJ2zx.js +0 -1
- package/adminWww/lib/js/crypto-js/aes.js +0 -234
- package/adminWww/lib/js/crypto-js/blowfish.js +0 -471
- package/adminWww/lib/js/crypto-js/bower.json +0 -39
- package/adminWww/lib/js/crypto-js/cipher-core.js +0 -895
- package/adminWww/lib/js/crypto-js/core.js +0 -807
- package/adminWww/lib/js/crypto-js/crypto-js.js +0 -6657
- package/adminWww/lib/js/crypto-js/docs/QuickStartGuide.wiki +0 -470
- package/adminWww/lib/js/crypto-js/enc-base64.js +0 -136
- package/adminWww/lib/js/crypto-js/enc-base64url.js +0 -148
- package/adminWww/lib/js/crypto-js/enc-hex.js +0 -18
- package/adminWww/lib/js/crypto-js/enc-latin1.js +0 -18
- package/adminWww/lib/js/crypto-js/enc-utf16.js +0 -149
- package/adminWww/lib/js/crypto-js/enc-utf8.js +0 -18
- package/adminWww/lib/js/crypto-js/evpkdf.js +0 -134
- package/adminWww/lib/js/crypto-js/format-hex.js +0 -66
- package/adminWww/lib/js/crypto-js/format-openssl.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-md5.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-ripemd160.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha1.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha224.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha256.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha3.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha384.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha512.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac.js +0 -143
- package/adminWww/lib/js/crypto-js/index.js +0 -18
- package/adminWww/lib/js/crypto-js/lib-typedarrays.js +0 -76
- package/adminWww/lib/js/crypto-js/md5.js +0 -268
- package/adminWww/lib/js/crypto-js/mode-cfb.js +0 -80
- package/adminWww/lib/js/crypto-js/mode-ctr-gladman.js +0 -116
- package/adminWww/lib/js/crypto-js/mode-ctr.js +0 -58
- package/adminWww/lib/js/crypto-js/mode-ecb.js +0 -40
- package/adminWww/lib/js/crypto-js/mode-ofb.js +0 -54
- package/adminWww/lib/js/crypto-js/package.json +0 -42
- package/adminWww/lib/js/crypto-js/pad-ansix923.js +0 -49
- package/adminWww/lib/js/crypto-js/pad-iso10126.js +0 -44
- package/adminWww/lib/js/crypto-js/pad-iso97971.js +0 -40
- package/adminWww/lib/js/crypto-js/pad-nopadding.js +0 -30
- package/adminWww/lib/js/crypto-js/pad-pkcs7.js +0 -18
- package/adminWww/lib/js/crypto-js/pad-zeropadding.js +0 -47
- package/adminWww/lib/js/crypto-js/pbkdf2.js +0 -145
- package/adminWww/lib/js/crypto-js/rabbit-legacy.js +0 -190
- package/adminWww/lib/js/crypto-js/rabbit.js +0 -192
- package/adminWww/lib/js/crypto-js/rc4.js +0 -139
- package/adminWww/lib/js/crypto-js/ripemd160.js +0 -267
- package/adminWww/lib/js/crypto-js/sha1.js +0 -150
- package/adminWww/lib/js/crypto-js/sha224.js +0 -80
- package/adminWww/lib/js/crypto-js/sha256.js +0 -199
- package/adminWww/lib/js/crypto-js/sha3.js +0 -326
- package/adminWww/lib/js/crypto-js/sha384.js +0 -83
- package/adminWww/lib/js/crypto-js/sha512.js +0 -326
- package/adminWww/lib/js/crypto-js/tripledes.js +0 -779
- package/adminWww/lib/js/crypto-js/x64-core.js +0 -304
- package/build-backend/i18n/de.json +0 -18
- package/build-backend/i18n/es.json +0 -18
- package/build-backend/i18n/fr.json +0 -18
- package/build-backend/i18n/it.json +0 -18
- package/build-backend/i18n/nl.json +0 -18
- package/build-backend/i18n/pl.json +0 -18
- package/build-backend/i18n/pt.json +0 -18
- package/build-backend/i18n/ru.json +0 -18
- package/build-backend/i18n/uk.json +0 -18
- package/build-backend/i18n/zh-cn.json +0 -18
- package/build-backend/lib/checkLinuxPass.js.map +0 -1
- package/build-backend/lib/testPassword.js.map +0 -1
- package/build-backend/lib/translations.js.map +0 -1
- package/build-backend/lib/utils.js.map +0 -1
- package/build-backend/lib/web.js.map +0 -1
- package/build-backend/main.js.map +0 -1
- /package/{build-backend → build}/i18n/en.json +0 -0
- /package/{build-backend → build}/lib/checkLinuxPass.js +0 -0
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/** @preserve
|
|
17
|
-
* Counter block mode compatible with Dr Brian Gladman fileenc.c
|
|
18
|
-
* derived from CryptoJS.mode.CTR
|
|
19
|
-
* Jan Hruby jhruby.web@gmail.com
|
|
20
|
-
*/
|
|
21
|
-
CryptoJS.mode.CTRGladman = (function () {
|
|
22
|
-
var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
|
|
23
|
-
|
|
24
|
-
function incWord(word)
|
|
25
|
-
{
|
|
26
|
-
if (((word >> 24) & 0xff) === 0xff) { //overflow
|
|
27
|
-
var b1 = (word >> 16)&0xff;
|
|
28
|
-
var b2 = (word >> 8)&0xff;
|
|
29
|
-
var b3 = word & 0xff;
|
|
30
|
-
|
|
31
|
-
if (b1 === 0xff) // overflow b1
|
|
32
|
-
{
|
|
33
|
-
b1 = 0;
|
|
34
|
-
if (b2 === 0xff)
|
|
35
|
-
{
|
|
36
|
-
b2 = 0;
|
|
37
|
-
if (b3 === 0xff)
|
|
38
|
-
{
|
|
39
|
-
b3 = 0;
|
|
40
|
-
}
|
|
41
|
-
else
|
|
42
|
-
{
|
|
43
|
-
++b3;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else
|
|
47
|
-
{
|
|
48
|
-
++b2;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
else
|
|
52
|
-
{
|
|
53
|
-
++b1;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
word = 0;
|
|
57
|
-
word += (b1 << 16);
|
|
58
|
-
word += (b2 << 8);
|
|
59
|
-
word += b3;
|
|
60
|
-
}
|
|
61
|
-
else
|
|
62
|
-
{
|
|
63
|
-
word += (0x01 << 24);
|
|
64
|
-
}
|
|
65
|
-
return word;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function incCounter(counter)
|
|
69
|
-
{
|
|
70
|
-
if ((counter[0] = incWord(counter[0])) === 0)
|
|
71
|
-
{
|
|
72
|
-
// encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8
|
|
73
|
-
counter[1] = incWord(counter[1]);
|
|
74
|
-
}
|
|
75
|
-
return counter;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
|
|
79
|
-
processBlock: function (words, offset) {
|
|
80
|
-
// Shortcuts
|
|
81
|
-
var cipher = this._cipher
|
|
82
|
-
var blockSize = cipher.blockSize;
|
|
83
|
-
var iv = this._iv;
|
|
84
|
-
var counter = this._counter;
|
|
85
|
-
|
|
86
|
-
// Generate keystream
|
|
87
|
-
if (iv) {
|
|
88
|
-
counter = this._counter = iv.slice(0);
|
|
89
|
-
|
|
90
|
-
// Remove IV for subsequent blocks
|
|
91
|
-
this._iv = undefined;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
incCounter(counter);
|
|
95
|
-
|
|
96
|
-
var keystream = counter.slice(0);
|
|
97
|
-
cipher.encryptBlock(keystream, 0);
|
|
98
|
-
|
|
99
|
-
// Encrypt
|
|
100
|
-
for (var i = 0; i < blockSize; i++) {
|
|
101
|
-
words[offset + i] ^= keystream[i];
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
CTRGladman.Decryptor = Encryptor;
|
|
107
|
-
|
|
108
|
-
return CTRGladman;
|
|
109
|
-
}());
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return CryptoJS.mode.CTRGladman;
|
|
115
|
-
|
|
116
|
-
}));
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Counter block mode.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.mode.CTR = (function () {
|
|
20
|
-
var CTR = CryptoJS.lib.BlockCipherMode.extend();
|
|
21
|
-
|
|
22
|
-
var Encryptor = CTR.Encryptor = CTR.extend({
|
|
23
|
-
processBlock: function (words, offset) {
|
|
24
|
-
// Shortcuts
|
|
25
|
-
var cipher = this._cipher
|
|
26
|
-
var blockSize = cipher.blockSize;
|
|
27
|
-
var iv = this._iv;
|
|
28
|
-
var counter = this._counter;
|
|
29
|
-
|
|
30
|
-
// Generate keystream
|
|
31
|
-
if (iv) {
|
|
32
|
-
counter = this._counter = iv.slice(0);
|
|
33
|
-
|
|
34
|
-
// Remove IV for subsequent blocks
|
|
35
|
-
this._iv = undefined;
|
|
36
|
-
}
|
|
37
|
-
var keystream = counter.slice(0);
|
|
38
|
-
cipher.encryptBlock(keystream, 0);
|
|
39
|
-
|
|
40
|
-
// Increment counter
|
|
41
|
-
counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0
|
|
42
|
-
|
|
43
|
-
// Encrypt
|
|
44
|
-
for (var i = 0; i < blockSize; i++) {
|
|
45
|
-
words[offset + i] ^= keystream[i];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
CTR.Decryptor = Encryptor;
|
|
51
|
-
|
|
52
|
-
return CTR;
|
|
53
|
-
}());
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return CryptoJS.mode.CTR;
|
|
57
|
-
|
|
58
|
-
}));
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Electronic Codebook block mode.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.mode.ECB = (function () {
|
|
20
|
-
var ECB = CryptoJS.lib.BlockCipherMode.extend();
|
|
21
|
-
|
|
22
|
-
ECB.Encryptor = ECB.extend({
|
|
23
|
-
processBlock: function (words, offset) {
|
|
24
|
-
this._cipher.encryptBlock(words, offset);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
ECB.Decryptor = ECB.extend({
|
|
29
|
-
processBlock: function (words, offset) {
|
|
30
|
-
this._cipher.decryptBlock(words, offset);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
return ECB;
|
|
35
|
-
}());
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return CryptoJS.mode.ECB;
|
|
39
|
-
|
|
40
|
-
}));
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Output Feedback block mode.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.mode.OFB = (function () {
|
|
20
|
-
var OFB = CryptoJS.lib.BlockCipherMode.extend();
|
|
21
|
-
|
|
22
|
-
var Encryptor = OFB.Encryptor = OFB.extend({
|
|
23
|
-
processBlock: function (words, offset) {
|
|
24
|
-
// Shortcuts
|
|
25
|
-
var cipher = this._cipher
|
|
26
|
-
var blockSize = cipher.blockSize;
|
|
27
|
-
var iv = this._iv;
|
|
28
|
-
var keystream = this._keystream;
|
|
29
|
-
|
|
30
|
-
// Generate keystream
|
|
31
|
-
if (iv) {
|
|
32
|
-
keystream = this._keystream = iv.slice(0);
|
|
33
|
-
|
|
34
|
-
// Remove IV for subsequent blocks
|
|
35
|
-
this._iv = undefined;
|
|
36
|
-
}
|
|
37
|
-
cipher.encryptBlock(keystream, 0);
|
|
38
|
-
|
|
39
|
-
// Encrypt
|
|
40
|
-
for (var i = 0; i < blockSize; i++) {
|
|
41
|
-
words[offset + i] ^= keystream[i];
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
OFB.Decryptor = Encryptor;
|
|
47
|
-
|
|
48
|
-
return OFB;
|
|
49
|
-
}());
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return CryptoJS.mode.OFB;
|
|
53
|
-
|
|
54
|
-
}));
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "crypto-js",
|
|
3
|
-
"version": "4.2.0",
|
|
4
|
-
"description": "JavaScript library of crypto standards.",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Evan Vosberg",
|
|
8
|
-
"url": "http://github.com/evanvosberg"
|
|
9
|
-
},
|
|
10
|
-
"homepage": "http://github.com/brix/crypto-js",
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "http://github.com/brix/crypto-js.git"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"security",
|
|
17
|
-
"crypto",
|
|
18
|
-
"Hash",
|
|
19
|
-
"MD5",
|
|
20
|
-
"SHA1",
|
|
21
|
-
"SHA-1",
|
|
22
|
-
"SHA256",
|
|
23
|
-
"SHA-256",
|
|
24
|
-
"RC4",
|
|
25
|
-
"Rabbit",
|
|
26
|
-
"AES",
|
|
27
|
-
"DES",
|
|
28
|
-
"PBKDF2",
|
|
29
|
-
"HMAC",
|
|
30
|
-
"OFB",
|
|
31
|
-
"CFB",
|
|
32
|
-
"CTR",
|
|
33
|
-
"CBC",
|
|
34
|
-
"Base64",
|
|
35
|
-
"Base64url"
|
|
36
|
-
],
|
|
37
|
-
"main": "index.js",
|
|
38
|
-
"dependencies": {},
|
|
39
|
-
"browser": {
|
|
40
|
-
"crypto": false
|
|
41
|
-
}
|
|
42
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* ANSI X.923 padding strategy.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.pad.AnsiX923 = {
|
|
20
|
-
pad: function (data, blockSize) {
|
|
21
|
-
// Shortcuts
|
|
22
|
-
var dataSigBytes = data.sigBytes;
|
|
23
|
-
var blockSizeBytes = blockSize * 4;
|
|
24
|
-
|
|
25
|
-
// Count padding bytes
|
|
26
|
-
var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
|
|
27
|
-
|
|
28
|
-
// Compute last byte position
|
|
29
|
-
var lastBytePos = dataSigBytes + nPaddingBytes - 1;
|
|
30
|
-
|
|
31
|
-
// Pad
|
|
32
|
-
data.clamp();
|
|
33
|
-
data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);
|
|
34
|
-
data.sigBytes += nPaddingBytes;
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
unpad: function (data) {
|
|
38
|
-
// Get number of padding bytes from last byte
|
|
39
|
-
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
|
|
40
|
-
|
|
41
|
-
// Remove padding
|
|
42
|
-
data.sigBytes -= nPaddingBytes;
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return CryptoJS.pad.Ansix923;
|
|
48
|
-
|
|
49
|
-
}));
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* ISO 10126 padding strategy.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.pad.Iso10126 = {
|
|
20
|
-
pad: function (data, blockSize) {
|
|
21
|
-
// Shortcut
|
|
22
|
-
var blockSizeBytes = blockSize * 4;
|
|
23
|
-
|
|
24
|
-
// Count padding bytes
|
|
25
|
-
var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
|
|
26
|
-
|
|
27
|
-
// Pad
|
|
28
|
-
data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).
|
|
29
|
-
concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
unpad: function (data) {
|
|
33
|
-
// Get number of padding bytes from last byte
|
|
34
|
-
var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
|
|
35
|
-
|
|
36
|
-
// Remove padding
|
|
37
|
-
data.sigBytes -= nPaddingBytes;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return CryptoJS.pad.Iso10126;
|
|
43
|
-
|
|
44
|
-
}));
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* ISO/IEC 9797-1 Padding Method 2.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.pad.Iso97971 = {
|
|
20
|
-
pad: function (data, blockSize) {
|
|
21
|
-
// Add 0x80 byte
|
|
22
|
-
data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));
|
|
23
|
-
|
|
24
|
-
// Zero pad the rest
|
|
25
|
-
CryptoJS.pad.ZeroPadding.pad(data, blockSize);
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
unpad: function (data) {
|
|
29
|
-
// Remove zero padding
|
|
30
|
-
CryptoJS.pad.ZeroPadding.unpad(data);
|
|
31
|
-
|
|
32
|
-
// Remove one more byte -- the 0x80 byte
|
|
33
|
-
data.sigBytes--;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return CryptoJS.pad.Iso97971;
|
|
39
|
-
|
|
40
|
-
}));
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* A noop padding strategy.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.pad.NoPadding = {
|
|
20
|
-
pad: function () {
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
unpad: function () {
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return CryptoJS.pad.NoPadding;
|
|
29
|
-
|
|
30
|
-
}));
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
return CryptoJS.pad.Pkcs7;
|
|
17
|
-
|
|
18
|
-
}));
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./cipher-core"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./cipher-core"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Zero padding strategy.
|
|
18
|
-
*/
|
|
19
|
-
CryptoJS.pad.ZeroPadding = {
|
|
20
|
-
pad: function (data, blockSize) {
|
|
21
|
-
// Shortcut
|
|
22
|
-
var blockSizeBytes = blockSize * 4;
|
|
23
|
-
|
|
24
|
-
// Pad
|
|
25
|
-
data.clamp();
|
|
26
|
-
data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
unpad: function (data) {
|
|
30
|
-
// Shortcut
|
|
31
|
-
var dataWords = data.words;
|
|
32
|
-
|
|
33
|
-
// Unpad
|
|
34
|
-
var i = data.sigBytes - 1;
|
|
35
|
-
for (var i = data.sigBytes - 1; i >= 0; i--) {
|
|
36
|
-
if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {
|
|
37
|
-
data.sigBytes = i + 1;
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return CryptoJS.pad.ZeroPadding;
|
|
46
|
-
|
|
47
|
-
}));
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
;(function (root, factory, undef) {
|
|
2
|
-
if (typeof exports === "object") {
|
|
3
|
-
// CommonJS
|
|
4
|
-
module.exports = exports = factory(require("./core"), require("./sha256"), require("./hmac"));
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
// AMD
|
|
8
|
-
define(["./core", "./sha256", "./hmac"], factory);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
// Global (browser)
|
|
12
|
-
factory(root.CryptoJS);
|
|
13
|
-
}
|
|
14
|
-
}(this, function (CryptoJS) {
|
|
15
|
-
|
|
16
|
-
(function () {
|
|
17
|
-
// Shortcuts
|
|
18
|
-
var C = CryptoJS;
|
|
19
|
-
var C_lib = C.lib;
|
|
20
|
-
var Base = C_lib.Base;
|
|
21
|
-
var WordArray = C_lib.WordArray;
|
|
22
|
-
var C_algo = C.algo;
|
|
23
|
-
var SHA256 = C_algo.SHA256;
|
|
24
|
-
var HMAC = C_algo.HMAC;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Password-Based Key Derivation Function 2 algorithm.
|
|
28
|
-
*/
|
|
29
|
-
var PBKDF2 = C_algo.PBKDF2 = Base.extend({
|
|
30
|
-
/**
|
|
31
|
-
* Configuration options.
|
|
32
|
-
*
|
|
33
|
-
* @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
|
|
34
|
-
* @property {Hasher} hasher The hasher to use. Default: SHA256
|
|
35
|
-
* @property {number} iterations The number of iterations to perform. Default: 250000
|
|
36
|
-
*/
|
|
37
|
-
cfg: Base.extend({
|
|
38
|
-
keySize: 128/32,
|
|
39
|
-
hasher: SHA256,
|
|
40
|
-
iterations: 250000
|
|
41
|
-
}),
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Initializes a newly created key derivation function.
|
|
45
|
-
*
|
|
46
|
-
* @param {Object} cfg (Optional) The configuration options to use for the derivation.
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
*
|
|
50
|
-
* var kdf = CryptoJS.algo.PBKDF2.create();
|
|
51
|
-
* var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });
|
|
52
|
-
* var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });
|
|
53
|
-
*/
|
|
54
|
-
init: function (cfg) {
|
|
55
|
-
this.cfg = this.cfg.extend(cfg);
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Computes the Password-Based Key Derivation Function 2.
|
|
60
|
-
*
|
|
61
|
-
* @param {WordArray|string} password The password.
|
|
62
|
-
* @param {WordArray|string} salt A salt.
|
|
63
|
-
*
|
|
64
|
-
* @return {WordArray} The derived key.
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
*
|
|
68
|
-
* var key = kdf.compute(password, salt);
|
|
69
|
-
*/
|
|
70
|
-
compute: function (password, salt) {
|
|
71
|
-
// Shortcut
|
|
72
|
-
var cfg = this.cfg;
|
|
73
|
-
|
|
74
|
-
// Init HMAC
|
|
75
|
-
var hmac = HMAC.create(cfg.hasher, password);
|
|
76
|
-
|
|
77
|
-
// Initial values
|
|
78
|
-
var derivedKey = WordArray.create();
|
|
79
|
-
var blockIndex = WordArray.create([0x00000001]);
|
|
80
|
-
|
|
81
|
-
// Shortcuts
|
|
82
|
-
var derivedKeyWords = derivedKey.words;
|
|
83
|
-
var blockIndexWords = blockIndex.words;
|
|
84
|
-
var keySize = cfg.keySize;
|
|
85
|
-
var iterations = cfg.iterations;
|
|
86
|
-
|
|
87
|
-
// Generate key
|
|
88
|
-
while (derivedKeyWords.length < keySize) {
|
|
89
|
-
var block = hmac.update(salt).finalize(blockIndex);
|
|
90
|
-
hmac.reset();
|
|
91
|
-
|
|
92
|
-
// Shortcuts
|
|
93
|
-
var blockWords = block.words;
|
|
94
|
-
var blockWordsLength = blockWords.length;
|
|
95
|
-
|
|
96
|
-
// Iterations
|
|
97
|
-
var intermediate = block;
|
|
98
|
-
for (var i = 1; i < iterations; i++) {
|
|
99
|
-
intermediate = hmac.finalize(intermediate);
|
|
100
|
-
hmac.reset();
|
|
101
|
-
|
|
102
|
-
// Shortcut
|
|
103
|
-
var intermediateWords = intermediate.words;
|
|
104
|
-
|
|
105
|
-
// XOR intermediate with block
|
|
106
|
-
for (var j = 0; j < blockWordsLength; j++) {
|
|
107
|
-
blockWords[j] ^= intermediateWords[j];
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
derivedKey.concat(block);
|
|
112
|
-
blockIndexWords[0]++;
|
|
113
|
-
}
|
|
114
|
-
derivedKey.sigBytes = keySize * 4;
|
|
115
|
-
|
|
116
|
-
return derivedKey;
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Computes the Password-Based Key Derivation Function 2.
|
|
122
|
-
*
|
|
123
|
-
* @param {WordArray|string} password The password.
|
|
124
|
-
* @param {WordArray|string} salt A salt.
|
|
125
|
-
* @param {Object} cfg (Optional) The configuration options to use for this computation.
|
|
126
|
-
*
|
|
127
|
-
* @return {WordArray} The derived key.
|
|
128
|
-
*
|
|
129
|
-
* @static
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
*
|
|
133
|
-
* var key = CryptoJS.PBKDF2(password, salt);
|
|
134
|
-
* var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });
|
|
135
|
-
* var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
|
|
136
|
-
*/
|
|
137
|
-
C.PBKDF2 = function (password, salt, cfg) {
|
|
138
|
-
return PBKDF2.create(cfg).compute(password, salt);
|
|
139
|
-
};
|
|
140
|
-
}());
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
return CryptoJS.PBKDF2;
|
|
144
|
-
|
|
145
|
-
}));
|