@sparted/shared-library 1.6.0 → 1.7.0
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/crypto/aes256.d.ts +3 -0
- package/crypto/aes256.js +35 -0
- package/crypto/aes256.js.map +1 -0
- package/crypto/index.d.ts +1 -0
- package/crypto/index.js +11 -0
- package/crypto/index.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/package.json +3 -1
package/crypto/aes256.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var aes = require('crypto-js/aes');
|
|
6
|
+
var cryptoJs = require('crypto-js');
|
|
7
|
+
|
|
8
|
+
function encrypt(data, key, iv) {
|
|
9
|
+
if (key.length !== 32)
|
|
10
|
+
throw new Error('Key must be 256 bits long');
|
|
11
|
+
if (iv.length !== 16)
|
|
12
|
+
throw new Error('IV must be 128 bits long');
|
|
13
|
+
const cipher = aes.encrypt(data, cryptoJs.enc.Utf8.parse(key), {
|
|
14
|
+
mode: cryptoJs.mode.CBC,
|
|
15
|
+
padding: cryptoJs.pad.Pkcs7,
|
|
16
|
+
iv: cryptoJs.enc.Utf8.parse(iv),
|
|
17
|
+
});
|
|
18
|
+
return cryptoJs.enc.Base64.stringify(cipher.ciphertext);
|
|
19
|
+
}
|
|
20
|
+
function decrypt(data, key, iv) {
|
|
21
|
+
if (key.length !== 32)
|
|
22
|
+
throw new Error('Key must be 256 bits long');
|
|
23
|
+
if (iv.length !== 16)
|
|
24
|
+
throw new Error('IV must be 128 bits long');
|
|
25
|
+
const cipher = aes.decrypt(data, cryptoJs.enc.Utf8.parse(key), {
|
|
26
|
+
mode: cryptoJs.mode.CBC,
|
|
27
|
+
padding: cryptoJs.pad.Pkcs7,
|
|
28
|
+
iv: cryptoJs.enc.Utf8.parse(iv),
|
|
29
|
+
});
|
|
30
|
+
return cryptoJs.enc.Utf8.stringify(cipher);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.decrypt = decrypt;
|
|
34
|
+
exports.encrypt = encrypt;
|
|
35
|
+
//# sourceMappingURL=aes256.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aes256.js","sources":["../../src/crypto/aes256.ts"],"sourcesContent":["import { encrypt as cryptoEncrypt, decrypt as cryptoDecript } from 'crypto-js/aes';\nimport { enc, mode, pad } from 'crypto-js';\n\nfunction encrypt(data: string, key: string, iv: string): string {\n if (key.length !== 32) throw new Error('Key must be 256 bits long');\n if (iv.length !== 16) throw new Error('IV must be 128 bits long');\n const cipher = cryptoEncrypt(data, enc.Utf8.parse(key), {\n mode: mode.CBC,\n padding: pad.Pkcs7,\n iv: enc.Utf8.parse(iv),\n });\n return enc.Base64.stringify(cipher.ciphertext);\n}\n\nfunction decrypt(data: string, key: string, iv: string): string {\n if (key.length !== 32) throw new Error('Key must be 256 bits long');\n if (iv.length !== 16) throw new Error('IV must be 128 bits long');\n const cipher = cryptoDecript(data, enc.Utf8.parse(key), {\n mode: mode.CBC,\n padding: pad.Pkcs7,\n iv: enc.Utf8.parse(iv),\n });\n return enc.Utf8.stringify(cipher);\n}\n\nexport { encrypt, decrypt };\n"],"names":["cryptoEncrypt","enc","mode","pad","cryptoDecript"],"mappings":";;;;;;;AAGA,SAAS,OAAO,CAAC,IAAY,EAAE,GAAW,EAAE,EAAU,EAAA;AACpD,IAAA,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACpE,IAAA,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAClE,IAAA,MAAM,MAAM,GAAGA,WAAa,CAAC,IAAI,EAAEC,YAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACtD,IAAI,EAAEC,aAAI,CAAC,GAAG;QACd,OAAO,EAAEC,YAAG,CAAC,KAAK;QAClB,EAAE,EAAEF,YAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACvB,KAAA,CAAC,CAAC;IACH,OAAOA,YAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,GAAW,EAAE,EAAU,EAAA;AACpD,IAAA,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACpE,IAAA,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAClE,IAAA,MAAM,MAAM,GAAGG,WAAa,CAAC,IAAI,EAAEH,YAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACtD,IAAI,EAAEC,aAAI,CAAC,GAAG;QACd,OAAO,EAAEC,YAAG,CAAC,KAAK;QAClB,EAAE,EAAEF,YAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACvB,KAAA,CAAC,CAAC;IACH,OAAOA,YAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { encrypt, decrypt } from './aes256';
|
package/crypto/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -38,6 +38,7 @@ var delay = require('./promise/delay.js');
|
|
|
38
38
|
var replaceInTemplate = require('./string/replace-in-template.js');
|
|
39
39
|
var isStringLengthWithinRange = require('./string/is-string-length-within-range.js');
|
|
40
40
|
var getContrastColor = require('./color/get-contrast-color.js');
|
|
41
|
+
var aes256 = require('./crypto/aes256.js');
|
|
41
42
|
|
|
42
43
|
|
|
43
44
|
|
|
@@ -84,4 +85,6 @@ exports.delay = delay.delay;
|
|
|
84
85
|
exports.replaceInTemplate = replaceInTemplate.replaceInTemplate;
|
|
85
86
|
exports.isStringLengthWithinRange = isStringLengthWithinRange.isStringLengthWithinRange;
|
|
86
87
|
exports.getContrastColor = getContrastColor.getContrastColor;
|
|
88
|
+
exports.decrypt = aes256.decrypt;
|
|
89
|
+
exports.encrypt = aes256.encrypt;
|
|
87
90
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sparted/shared-library",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"repository": "git@github.com:Sparted/shared-library.git",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Sparted",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"build-and-publish": "yarn test && yarn build && (cd ./dist && yarn publish)"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
+
"@types/crypto-js": "^4.2.2",
|
|
25
26
|
"@types/glob": "^8.0.0",
|
|
26
27
|
"@types/jest": "^29.0.3",
|
|
27
28
|
"@types/ungap__structured-clone": "^0.3.0",
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
},
|
|
62
63
|
"dependencies": {
|
|
63
64
|
"@ungap/structured-clone": "^1.2.0",
|
|
65
|
+
"crypto-js": "^4.2.0",
|
|
64
66
|
"ts-essentials": "^9.4.1"
|
|
65
67
|
}
|
|
66
68
|
}
|