iobroker.admin 6.2.2 → 6.2.3
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/README.md +3 -3
- package/io-package.json +13 -13
- package/package.json +1 -1
- package/www/asset-manifest.json +7 -7
- package/www/index.html +1 -1
- package/www/js/adapter-settings.js +55 -57
- package/www/lib/js/crypto-js/aes.js +234 -0
- package/www/lib/js/crypto-js/bower.json +39 -0
- package/www/lib/js/crypto-js/cipher-core.js +890 -0
- package/www/lib/js/crypto-js/core.js +807 -0
- package/www/lib/js/crypto-js/crypto-js.js +6191 -0
- package/www/lib/js/crypto-js/enc-base64.js +136 -0
- package/www/lib/js/crypto-js/enc-base64url.js +140 -0
- package/www/lib/js/crypto-js/enc-hex.js +18 -0
- package/www/lib/js/crypto-js/enc-latin1.js +18 -0
- package/www/lib/js/crypto-js/enc-utf16.js +149 -0
- package/www/lib/js/crypto-js/enc-utf8.js +18 -0
- package/www/lib/js/crypto-js/evpkdf.js +134 -0
- package/www/lib/js/crypto-js/format-hex.js +66 -0
- package/www/lib/js/crypto-js/format-openssl.js +18 -0
- package/www/lib/js/crypto-js/hmac-md5.js +18 -0
- package/www/lib/js/crypto-js/hmac-ripemd160.js +18 -0
- package/www/lib/js/crypto-js/hmac-sha1.js +18 -0
- package/www/lib/js/crypto-js/hmac-sha224.js +18 -0
- package/www/lib/js/crypto-js/hmac-sha256.js +18 -0
- package/www/lib/js/crypto-js/hmac-sha3.js +18 -0
- package/www/lib/js/crypto-js/hmac-sha384.js +18 -0
- package/www/lib/js/crypto-js/hmac-sha512.js +18 -0
- package/www/lib/js/crypto-js/hmac.js +143 -0
- package/www/lib/js/crypto-js/index.js +18 -0
- package/www/lib/js/crypto-js/lib-typedarrays.js +76 -0
- package/www/lib/js/crypto-js/md5.js +268 -0
- package/www/lib/js/crypto-js/mode-cfb.js +80 -0
- package/www/lib/js/crypto-js/mode-ctr-gladman.js +116 -0
- package/www/lib/js/crypto-js/mode-ctr.js +58 -0
- package/www/lib/js/crypto-js/mode-ecb.js +40 -0
- package/www/lib/js/crypto-js/mode-ofb.js +54 -0
- package/www/lib/js/crypto-js/package.json +70 -0
- package/www/lib/js/crypto-js/pad-ansix923.js +49 -0
- package/www/lib/js/crypto-js/pad-iso10126.js +44 -0
- package/www/lib/js/crypto-js/pad-iso97971.js +40 -0
- package/www/lib/js/crypto-js/pad-nopadding.js +30 -0
- package/www/lib/js/crypto-js/pad-pkcs7.js +18 -0
- package/www/lib/js/crypto-js/pad-zeropadding.js +47 -0
- package/www/lib/js/crypto-js/pbkdf2.js +145 -0
- package/www/lib/js/crypto-js/rabbit-legacy.js +190 -0
- package/www/lib/js/crypto-js/rabbit.js +192 -0
- package/www/lib/js/crypto-js/rc4.js +139 -0
- package/www/lib/js/crypto-js/ripemd160.js +267 -0
- package/www/lib/js/crypto-js/sha1.js +150 -0
- package/www/lib/js/crypto-js/sha224.js +80 -0
- package/www/lib/js/crypto-js/sha256.js +199 -0
- package/www/lib/js/crypto-js/sha3.js +326 -0
- package/www/lib/js/crypto-js/sha384.js +83 -0
- package/www/lib/js/crypto-js/sha512.js +326 -0
- package/www/lib/js/crypto-js/tripledes.js +779 -0
- package/www/lib/js/crypto-js/x64-core.js +304 -0
- package/www/static/js/{5710.66d0a0cb.chunk.js → 5710.44014f30.chunk.js} +2 -2
- package/www/static/js/{5710.66d0a0cb.chunk.js.map → 5710.44014f30.chunk.js.map} +1 -1
- package/www/static/js/8596.eecce458.chunk.js +3 -0
- package/www/static/js/8596.eecce458.chunk.js.map +1 -0
- package/www/static/js/{main.dec36354.js → main.d3df889c.js} +2 -2
- package/www/static/js/{main.dec36354.js.map → main.d3df889c.js.map} +1 -1
- package/www/static/js/8596.ff72c56e.chunk.js +0 -3
- package/www/static/js/8596.ff72c56e.chunk.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
* Cipher Feedback block mode.
|
|
18
|
+
*/
|
|
19
|
+
CryptoJS.mode.CFB = (function () {
|
|
20
|
+
var CFB = CryptoJS.lib.BlockCipherMode.extend();
|
|
21
|
+
|
|
22
|
+
CFB.Encryptor = CFB.extend({
|
|
23
|
+
processBlock: function (words, offset) {
|
|
24
|
+
// Shortcuts
|
|
25
|
+
var cipher = this._cipher;
|
|
26
|
+
var blockSize = cipher.blockSize;
|
|
27
|
+
|
|
28
|
+
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
|
|
29
|
+
|
|
30
|
+
// Remember this block to use with next block
|
|
31
|
+
this._prevBlock = words.slice(offset, offset + blockSize);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
CFB.Decryptor = CFB.extend({
|
|
36
|
+
processBlock: function (words, offset) {
|
|
37
|
+
// Shortcuts
|
|
38
|
+
var cipher = this._cipher;
|
|
39
|
+
var blockSize = cipher.blockSize;
|
|
40
|
+
|
|
41
|
+
// Remember this block to use with next block
|
|
42
|
+
var thisBlock = words.slice(offset, offset + blockSize);
|
|
43
|
+
|
|
44
|
+
generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
|
|
45
|
+
|
|
46
|
+
// This block becomes the previous block
|
|
47
|
+
this._prevBlock = thisBlock;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
|
|
52
|
+
var keystream;
|
|
53
|
+
|
|
54
|
+
// Shortcut
|
|
55
|
+
var iv = this._iv;
|
|
56
|
+
|
|
57
|
+
// Generate keystream
|
|
58
|
+
if (iv) {
|
|
59
|
+
keystream = iv.slice(0);
|
|
60
|
+
|
|
61
|
+
// Remove IV for subsequent blocks
|
|
62
|
+
this._iv = undefined;
|
|
63
|
+
} else {
|
|
64
|
+
keystream = this._prevBlock;
|
|
65
|
+
}
|
|
66
|
+
cipher.encryptBlock(keystream, 0);
|
|
67
|
+
|
|
68
|
+
// Encrypt
|
|
69
|
+
for (var i = 0; i < blockSize; i++) {
|
|
70
|
+
words[offset + i] ^= keystream[i];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return CFB;
|
|
75
|
+
}());
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
return CryptoJS.mode.CFB;
|
|
79
|
+
|
|
80
|
+
}));
|
|
@@ -0,0 +1,116 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_from": "crypto-js@^4.1.1",
|
|
3
|
+
"_id": "crypto-js@4.1.1",
|
|
4
|
+
"_inBundle": false,
|
|
5
|
+
"_integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==",
|
|
6
|
+
"_location": "/crypto-js",
|
|
7
|
+
"_phantomChildren": {},
|
|
8
|
+
"_requested": {
|
|
9
|
+
"type": "range",
|
|
10
|
+
"registry": true,
|
|
11
|
+
"raw": "crypto-js@^4.1.1",
|
|
12
|
+
"name": "crypto-js",
|
|
13
|
+
"escapedName": "crypto-js",
|
|
14
|
+
"rawSpec": "^4.1.1",
|
|
15
|
+
"saveSpec": null,
|
|
16
|
+
"fetchSpec": "^4.1.1"
|
|
17
|
+
},
|
|
18
|
+
"_requiredBy": [
|
|
19
|
+
"/"
|
|
20
|
+
],
|
|
21
|
+
"_resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
|
|
22
|
+
"_shasum": "9e485bcf03521041bd85844786b83fb7619736cf",
|
|
23
|
+
"_spec": "crypto-js@^4.1.1",
|
|
24
|
+
"_where": "/home/runner/work/ioBroker.admin/ioBroker.admin/src-rx",
|
|
25
|
+
"author": {
|
|
26
|
+
"name": "Evan Vosberg",
|
|
27
|
+
"url": "http://github.com/evanvosberg"
|
|
28
|
+
},
|
|
29
|
+
"browser": {
|
|
30
|
+
"crypto": false
|
|
31
|
+
},
|
|
32
|
+
"bugs": {
|
|
33
|
+
"url": "https://github.com/brix/crypto-js/issues"
|
|
34
|
+
},
|
|
35
|
+
"bundleDependencies": false,
|
|
36
|
+
"dependencies": {},
|
|
37
|
+
"deprecated": false,
|
|
38
|
+
"description": "JavaScript library of crypto standards.",
|
|
39
|
+
"homepage": "http://github.com/brix/crypto-js",
|
|
40
|
+
"keywords": [
|
|
41
|
+
"security",
|
|
42
|
+
"crypto",
|
|
43
|
+
"Hash",
|
|
44
|
+
"MD5",
|
|
45
|
+
"SHA1",
|
|
46
|
+
"SHA-1",
|
|
47
|
+
"SHA256",
|
|
48
|
+
"SHA-256",
|
|
49
|
+
"RC4",
|
|
50
|
+
"Rabbit",
|
|
51
|
+
"AES",
|
|
52
|
+
"DES",
|
|
53
|
+
"PBKDF2",
|
|
54
|
+
"HMAC",
|
|
55
|
+
"OFB",
|
|
56
|
+
"CFB",
|
|
57
|
+
"CTR",
|
|
58
|
+
"CBC",
|
|
59
|
+
"Base64",
|
|
60
|
+
"Base64url"
|
|
61
|
+
],
|
|
62
|
+
"license": "MIT",
|
|
63
|
+
"main": "index.js",
|
|
64
|
+
"name": "crypto-js",
|
|
65
|
+
"repository": {
|
|
66
|
+
"type": "git",
|
|
67
|
+
"url": "git+ssh://git@github.com/brix/crypto-js.git"
|
|
68
|
+
},
|
|
69
|
+
"version": "4.1.1"
|
|
70
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
}));
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
}));
|