@tiny-codes/react-easy 1.4.11 β 1.4.12
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/CHANGELOG.md +10 -0
- package/es/utils/crypto.js +6 -6
- package/es/utils/crypto.js.map +1 -1
- package/lib/utils/crypto.js +4 -4
- package/lib/utils/crypto.js.map +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/es/utils/crypto.js
CHANGED
|
@@ -300,20 +300,20 @@ export function decryptWithCryptoJS(_x11, _x12) {
|
|
|
300
300
|
}
|
|
301
301
|
function _decryptWithCryptoJS() {
|
|
302
302
|
_decryptWithCryptoJS = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(encryptedText, key) {
|
|
303
|
-
var _encryptedText$split3, _encryptedText$split4, ivBase64, encryptedBase64, _yield$Promise$all3, _yield$Promise$all4,
|
|
303
|
+
var _encryptedText$split3, _encryptedText$split4, ivBase64, encryptedBase64, _yield$Promise$all3, _yield$Promise$all4, Base64, Utf8, CBC, Pkcs7, SHA256, decrypt, iv, derivedKey, decrypted;
|
|
304
304
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
305
305
|
while (1) switch (_context6.prev = _context6.next) {
|
|
306
306
|
case 0:
|
|
307
307
|
_encryptedText$split3 = encryptedText.split(':'), _encryptedText$split4 = _slicedToArray(_encryptedText$split3, 2), ivBase64 = _encryptedText$split4[0], encryptedBase64 = _encryptedText$split4[1];
|
|
308
308
|
_context6.next = 3;
|
|
309
|
-
return Promise.all([import('crypto-js/
|
|
309
|
+
return Promise.all([import('crypto-js/enc-base64.js'), import('crypto-js/enc-utf8.js'), import('crypto-js/core.js'), import('crypto-js/pad-pkcs7.js'), import('crypto-js/sha256.js'), import('crypto-js/aes.js')]);
|
|
310
310
|
case 3:
|
|
311
311
|
_yield$Promise$all3 = _context6.sent;
|
|
312
312
|
_yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 6);
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
313
|
+
Base64 = _yield$Promise$all4[0].default;
|
|
314
|
+
Utf8 = _yield$Promise$all4[1].default;
|
|
315
|
+
CBC = _yield$Promise$all4[2].default.mode.CBC;
|
|
316
|
+
Pkcs7 = _yield$Promise$all4[3].default;
|
|
317
317
|
SHA256 = _yield$Promise$all4[4].default;
|
|
318
318
|
decrypt = _yield$Promise$all4[5].default.decrypt;
|
|
319
319
|
_context6.prev = 11;
|
package/es/utils/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","base64ToString","stringToBase64","random","randomChars","advancedEncrypt","_x","_x2","_advancedEncrypt","_callee","plainText","k1","b","_callee$","_context","encryptAES","substring","concat","advancedDecrypt","_x3","_x4","_advancedDecrypt","_callee2","encryptedText","decrypted","_decrypted$split","_decrypted$split2","_base64ToString$split","_base64ToString$split2","_callee2$","_context2","decryptAES","split","_slicedToArray","map","Number","_x5","_x6","_encryptAES","_callee3","text","isNode","_crypto","derivedKey","iv","cipher","encrypted","_iv","encoder","keyData","hashBuffer","cryptoKey","textBytes","encryptedBuffer","ivBase64","encryptedBase64","_callee3$","_context3","process","versions","node","crypto","require","createHash","update","digest","randomBytes","createCipheriv","final","toString","subtle","getRandomValues","Uint8Array","TextEncoder","encode","importKey","encrypt","btoa","String","fromCharCode","_toConsumableArray","t0","console","encryptWithCryptoJS","_x7","_x8","_decryptAES","_callee4","_encryptedText$split","_encryptedText$split2","_crypto2","decipher","_iv2","encryptedData","decryptedBuffer","decoder","_callee4$","_context4","Buffer","from","createDecipheriv","atob","charCodeAt","decrypt","TextDecoder","decode","decryptWithCryptoJS","_x9","_x10","_encryptWithCryptoJS","_callee5","_yield$Promise$all","_yield$Promise$all2","_yield$Promise$all2$","CBC","WordArray","Pkcs7","Base64","Utf8","SHA256","wordArray","keyArray","_callee5$","_context5","all","default","mode","lib","parse","stringify","padding","ciphertext","_x11","_x12","_decryptWithCryptoJS","_callee6","_encryptedText$split3","_encryptedText$split4","_yield$Promise$all3","_yield$Promise$all4","_callee6$","_context6"],"sources":["../../src/utils/crypto.ts"],"sourcesContent":["import { base64ToString, stringToBase64 } from './base64';\nimport { random } from './math';\nimport { randomChars } from './string';\n\n/** Secret. No description provided */\nexport async function advancedEncrypt(plainText: string, key: string) {\n const k1 = randomChars(36);\n let e = await encryptAES(plainText, k1);\n const b = stringToBase64(k1);\n const l = b.length;\n const s = random(0, e.length);\n e = e.substring(0, s) + b + e.substring(s);\n const r = stringToBase64(`${s}-${l}`);\n const t = `${e}.${r}`;\n return encryptAES(t, key);\n}\n\n/** Secret. No description provided */\nexport async function advancedDecrypt(encryptedText: string, key: string) {\n const decrypted = await decryptAES(encryptedText, key);\n const [e, r] = decrypted.split('.');\n const [s, l] = base64ToString(r).split('-').map(Number);\n const k1 = base64ToString(e.substring(s, s + l));\n return decryptAES(e.substring(0, s) + e.substring(s + l), k1);\n}\n\n/**\n * **EN**: General AES encryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES ε ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param {string} text The text to be encrypted | θ¦ε ε―ηζζ¬\n * @param {string} key The encryption key | ε ε―ε―ι₯\n *\n * @returns {Promise<string>} The encrypted text | ε ε―εηζζ¬\n */\nexport async function encryptAES(text: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const iv = crypto.randomBytes(16);\n const cipher = crypto.createCipheriv('aes-256-cbc', derivedKey, iv);\n let encrypted = cipher.update(text, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n return `${iv.toString('base64')}:${encrypted}`;\n } else {\n if (crypto.subtle) {\n // Browsers\n try {\n const iv = crypto.getRandomValues(new Uint8Array(16));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['encrypt']);\n const textBytes = encoder.encode(text);\n const encryptedBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, cryptoKey, textBytes);\n const ivBase64 = btoa(String.fromCharCode(...iv));\n const encryptedBase64 = btoa(String.fromCharCode(...new Uint8Array(encryptedBuffer)));\n return `${ivBase64}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n } else {\n // let encrypt: typeof CryptoJS.AES.encrypt;\n // try {\n // const aes = await import('crypto-js/aes');\n // encrypt = aes.encrypt;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // return encrypt(text, key).toString();\n // } catch (error) {\n // console.error('Encryption error:', error);\n // throw error;\n // }\n return encryptWithCryptoJS(text, key);\n }\n }\n}\n\n/**\n * **EN**: General AES decryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES θ§£ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param encryptedText The encrypted text (format: iv:encryptedContent, base64 encoded)\n * @param key The decryption key\n *\n * @returns The decrypted text\n */\nexport async function decryptAES(encryptedText: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n try {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n if (!ivBase64 || !encryptedBase64) {\n throw new Error('Invalid encrypted format');\n }\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const iv = Buffer.from(ivBase64, 'base64');\n const encryptedBuffer = Buffer.from(encryptedBase64, 'base64');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const decipher = crypto.createDecipheriv('aes-256-cbc', derivedKey, iv);\n let decrypted = decipher.update(encryptedBuffer);\n decrypted = Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString('utf8');\n } else {\n if (crypto.subtle) {\n // Browsers with Web Crypto API, in secure contexts (HTTPS)\n const iv = Uint8Array.from(atob(ivBase64), (c) => c.charCodeAt(0));\n const encryptedData = Uint8Array.from(atob(encryptedBase64), (c) => c.charCodeAt(0));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['decrypt']);\n const decryptedBuffer = await crypto.subtle.decrypt({ name: 'AES-CBC', iv }, cryptoKey, encryptedData);\n const decoder = new TextDecoder();\n return decoder.decode(decryptedBuffer);\n } else {\n // Browsers without Web Crypto API, or insecure contexts (HTTP), fallback to CryptoJS\n // let decrypt: typeof CryptoJS.AES.decrypt;\n // let utf8: typeof CryptoJS.enc.Utf8;\n // try {\n // const [aes, encUtf8] = await Promise.all([import('crypto-js/aes'), import('crypto-js/enc-utf8')]);\n // decrypt = aes.decrypt;\n // utf8 = encUtf8.default;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // const decrypted = decrypt(encryptedText, key);\n // return decrypted.toString(utf8);\n // } catch (error) {\n // console.error('Decryption error:', error);\n // throw error;\n // }\n return decryptWithCryptoJS(encryptedText, key);\n }\n }\n } catch (error) {\n console.error('Decryption error:', error);\n return '';\n }\n}\nexport async function encryptWithCryptoJS(text: string, key: string) {\n const [\n {\n default: {\n mode: { CBC },\n lib: { WordArray },\n },\n },\n { default: Pkcs7 },\n { default: Base64 },\n { default: Utf8 },\n { default: SHA256 },\n {\n default: { encrypt },\n },\n ] = await Promise.all([\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert text and key to WordArray objects\n const wordArray = Utf8.parse(text);\n const keyArray = SHA256(key);\n const iv = WordArray.random(16);\n\n const encryptedBase64 = Base64.stringify(\n encrypt(wordArray, keyArray, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n }).ciphertext\n );\n return `${Base64.stringify(iv)}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n}\n\nexport async function decryptWithCryptoJS(encryptedText: string, key: string) {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n\n const [\n {\n default: {\n mode: { CBC },\n },\n },\n { default: Pkcs7 },\n { default: Base64 },\n { default: Utf8 },\n { default: SHA256 },\n {\n default: { decrypt },\n },\n ] = await Promise.all([\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert base64 strings to WordArray objects\n const iv = Base64.parse(ivBase64);\n // Derive key using SHA-256 (matching native implementation)\n const derivedKey = SHA256(key);\n const decrypted = decrypt(encryptedBase64, derivedKey, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n });\n return decrypted.toString(Utf8);\n } catch (error) {\n console.error('Decryption error:', error);\n throw error;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","base64ToString","stringToBase64","random","randomChars","advancedEncrypt","_x","_x2","_advancedEncrypt","_callee","plainText","k1","b","_callee$","_context","encryptAES","substring","concat","advancedDecrypt","_x3","_x4","_advancedDecrypt","_callee2","encryptedText","decrypted","_decrypted$split","_decrypted$split2","_base64ToString$split","_base64ToString$split2","_callee2$","_context2","decryptAES","split","_slicedToArray","map","Number","_x5","_x6","_encryptAES","_callee3","text","isNode","_crypto","derivedKey","iv","cipher","encrypted","_iv","encoder","keyData","hashBuffer","cryptoKey","textBytes","encryptedBuffer","ivBase64","encryptedBase64","_callee3$","_context3","process","versions","node","crypto","require","createHash","update","digest","randomBytes","createCipheriv","final","toString","subtle","getRandomValues","Uint8Array","TextEncoder","encode","importKey","encrypt","btoa","String","fromCharCode","_toConsumableArray","t0","console","encryptWithCryptoJS","_x7","_x8","_decryptAES","_callee4","_encryptedText$split","_encryptedText$split2","_crypto2","decipher","_iv2","encryptedData","decryptedBuffer","decoder","_callee4$","_context4","Buffer","from","createDecipheriv","atob","charCodeAt","decrypt","TextDecoder","decode","decryptWithCryptoJS","_x9","_x10","_encryptWithCryptoJS","_callee5","_yield$Promise$all","_yield$Promise$all2","_yield$Promise$all2$","CBC","WordArray","Pkcs7","Base64","Utf8","SHA256","wordArray","keyArray","_callee5$","_context5","all","default","mode","lib","parse","stringify","padding","ciphertext","_x11","_x12","_decryptWithCryptoJS","_callee6","_encryptedText$split3","_encryptedText$split4","_yield$Promise$all3","_yield$Promise$all4","_callee6$","_context6"],"sources":["../../src/utils/crypto.ts"],"sourcesContent":["import { base64ToString, stringToBase64 } from './base64';\nimport { random } from './math';\nimport { randomChars } from './string';\n\n/** Secret. No description provided */\nexport async function advancedEncrypt(plainText: string, key: string) {\n const k1 = randomChars(36);\n let e = await encryptAES(plainText, k1);\n const b = stringToBase64(k1);\n const l = b.length;\n const s = random(0, e.length);\n e = e.substring(0, s) + b + e.substring(s);\n const r = stringToBase64(`${s}-${l}`);\n const t = `${e}.${r}`;\n return encryptAES(t, key);\n}\n\n/** Secret. No description provided */\nexport async function advancedDecrypt(encryptedText: string, key: string) {\n const decrypted = await decryptAES(encryptedText, key);\n const [e, r] = decrypted.split('.');\n const [s, l] = base64ToString(r).split('-').map(Number);\n const k1 = base64ToString(e.substring(s, s + l));\n return decryptAES(e.substring(0, s) + e.substring(s + l), k1);\n}\n\n/**\n * **EN**: General AES encryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES ε ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param {string} text The text to be encrypted | θ¦ε ε―ηζζ¬\n * @param {string} key The encryption key | ε ε―ε―ι₯\n *\n * @returns {Promise<string>} The encrypted text | ε ε―εηζζ¬\n */\nexport async function encryptAES(text: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const iv = crypto.randomBytes(16);\n const cipher = crypto.createCipheriv('aes-256-cbc', derivedKey, iv);\n let encrypted = cipher.update(text, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n return `${iv.toString('base64')}:${encrypted}`;\n } else {\n if (crypto.subtle) {\n // Browsers\n try {\n const iv = crypto.getRandomValues(new Uint8Array(16));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['encrypt']);\n const textBytes = encoder.encode(text);\n const encryptedBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, cryptoKey, textBytes);\n const ivBase64 = btoa(String.fromCharCode(...iv));\n const encryptedBase64 = btoa(String.fromCharCode(...new Uint8Array(encryptedBuffer)));\n return `${ivBase64}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n } else {\n // let encrypt: typeof CryptoJS.AES.encrypt;\n // try {\n // const aes = await import('crypto-js/aes');\n // encrypt = aes.encrypt;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // return encrypt(text, key).toString();\n // } catch (error) {\n // console.error('Encryption error:', error);\n // throw error;\n // }\n return encryptWithCryptoJS(text, key);\n }\n }\n}\n\n/**\n * **EN**: General AES decryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES θ§£ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param encryptedText The encrypted text (format: iv:encryptedContent, base64 encoded)\n * @param key The decryption key\n *\n * @returns The decrypted text\n */\nexport async function decryptAES(encryptedText: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n try {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n if (!ivBase64 || !encryptedBase64) {\n throw new Error('Invalid encrypted format');\n }\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const iv = Buffer.from(ivBase64, 'base64');\n const encryptedBuffer = Buffer.from(encryptedBase64, 'base64');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const decipher = crypto.createDecipheriv('aes-256-cbc', derivedKey, iv);\n let decrypted = decipher.update(encryptedBuffer);\n decrypted = Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString('utf8');\n } else {\n if (crypto.subtle) {\n // Browsers with Web Crypto API, in secure contexts (HTTPS)\n const iv = Uint8Array.from(atob(ivBase64), (c) => c.charCodeAt(0));\n const encryptedData = Uint8Array.from(atob(encryptedBase64), (c) => c.charCodeAt(0));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['decrypt']);\n const decryptedBuffer = await crypto.subtle.decrypt({ name: 'AES-CBC', iv }, cryptoKey, encryptedData);\n const decoder = new TextDecoder();\n return decoder.decode(decryptedBuffer);\n } else {\n // Browsers without Web Crypto API, or insecure contexts (HTTP), fallback to CryptoJS\n // let decrypt: typeof CryptoJS.AES.decrypt;\n // let utf8: typeof CryptoJS.enc.Utf8;\n // try {\n // const [aes, encUtf8] = await Promise.all([import('crypto-js/aes'), import('crypto-js/enc-utf8')]);\n // decrypt = aes.decrypt;\n // utf8 = encUtf8.default;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // const decrypted = decrypt(encryptedText, key);\n // return decrypted.toString(utf8);\n // } catch (error) {\n // console.error('Decryption error:', error);\n // throw error;\n // }\n return decryptWithCryptoJS(encryptedText, key);\n }\n }\n } catch (error) {\n console.error('Decryption error:', error);\n return '';\n }\n}\nexport async function encryptWithCryptoJS(text: string, key: string) {\n const [\n {\n default: {\n mode: { CBC },\n lib: { WordArray },\n },\n },\n { default: Pkcs7 },\n { default: Base64 },\n { default: Utf8 },\n { default: SHA256 },\n {\n default: { encrypt },\n },\n ] = await Promise.all([\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert text and key to WordArray objects\n const wordArray = Utf8.parse(text);\n const keyArray = SHA256(key);\n const iv = WordArray.random(16);\n\n const encryptedBase64 = Base64.stringify(\n encrypt(wordArray, keyArray, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n }).ciphertext\n );\n return `${Base64.stringify(iv)}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n}\n\nexport async function decryptWithCryptoJS(encryptedText: string, key: string) {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n\n const [\n { default: Base64 },\n { default: Utf8 },\n {\n default: {\n mode: { CBC },\n },\n },\n { default: Pkcs7 },\n { default: SHA256 },\n {\n default: { decrypt },\n },\n ] = await Promise.all([\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert base64 strings to WordArray objects\n const iv = Base64.parse(ivBase64);\n // Derive key using SHA-256 (matching native implementation)\n const derivedKey = SHA256(key);\n const decrypted = decrypt(encryptedBase64, derivedKey, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n });\n return decrypted.toString(Utf8);\n } catch (error) {\n console.error('Decryption error:', error);\n throw error;\n }\n}\n"],"mappings":"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"}
|
package/lib/utils/crypto.js
CHANGED
|
@@ -169,23 +169,23 @@ async function encryptWithCryptoJS(text, key) {
|
|
|
169
169
|
async function decryptWithCryptoJS(encryptedText, key) {
|
|
170
170
|
const [ivBase64, encryptedBase64] = encryptedText.split(":");
|
|
171
171
|
const [
|
|
172
|
+
{ default: Base64 },
|
|
173
|
+
{ default: Utf8 },
|
|
172
174
|
{
|
|
173
175
|
default: {
|
|
174
176
|
mode: { CBC }
|
|
175
177
|
}
|
|
176
178
|
},
|
|
177
179
|
{ default: Pkcs7 },
|
|
178
|
-
{ default: Base64 },
|
|
179
|
-
{ default: Utf8 },
|
|
180
180
|
{ default: SHA256 },
|
|
181
181
|
{
|
|
182
182
|
default: { decrypt }
|
|
183
183
|
}
|
|
184
184
|
] = await Promise.all([
|
|
185
|
-
import("crypto-js/core.js"),
|
|
186
|
-
import("crypto-js/pad-pkcs7.js"),
|
|
187
185
|
import("crypto-js/enc-base64.js"),
|
|
188
186
|
import("crypto-js/enc-utf8.js"),
|
|
187
|
+
import("crypto-js/core.js"),
|
|
188
|
+
import("crypto-js/pad-pkcs7.js"),
|
|
189
189
|
import("crypto-js/sha256.js"),
|
|
190
190
|
import("crypto-js/aes.js")
|
|
191
191
|
]);
|
package/lib/utils/crypto.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/crypto.ts"],
|
|
4
|
-
"sourcesContent": ["import { base64ToString, stringToBase64 } from './base64';\nimport { random } from './math';\nimport { randomChars } from './string';\n\n/** Secret. No description provided */\nexport async function advancedEncrypt(plainText: string, key: string) {\n const k1 = randomChars(36);\n let e = await encryptAES(plainText, k1);\n const b = stringToBase64(k1);\n const l = b.length;\n const s = random(0, e.length);\n e = e.substring(0, s) + b + e.substring(s);\n const r = stringToBase64(`${s}-${l}`);\n const t = `${e}.${r}`;\n return encryptAES(t, key);\n}\n\n/** Secret. No description provided */\nexport async function advancedDecrypt(encryptedText: string, key: string) {\n const decrypted = await decryptAES(encryptedText, key);\n const [e, r] = decrypted.split('.');\n const [s, l] = base64ToString(r).split('-').map(Number);\n const k1 = base64ToString(e.substring(s, s + l));\n return decryptAES(e.substring(0, s) + e.substring(s + l), k1);\n}\n\n/**\n * **EN**: General AES encryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES ε ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param {string} text The text to be encrypted | θ¦ε ε―ηζζ¬\n * @param {string} key The encryption key | ε ε―ε―ι₯\n *\n * @returns {Promise<string>} The encrypted text | ε ε―εηζζ¬\n */\nexport async function encryptAES(text: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const iv = crypto.randomBytes(16);\n const cipher = crypto.createCipheriv('aes-256-cbc', derivedKey, iv);\n let encrypted = cipher.update(text, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n return `${iv.toString('base64')}:${encrypted}`;\n } else {\n if (crypto.subtle) {\n // Browsers\n try {\n const iv = crypto.getRandomValues(new Uint8Array(16));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['encrypt']);\n const textBytes = encoder.encode(text);\n const encryptedBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, cryptoKey, textBytes);\n const ivBase64 = btoa(String.fromCharCode(...iv));\n const encryptedBase64 = btoa(String.fromCharCode(...new Uint8Array(encryptedBuffer)));\n return `${ivBase64}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n } else {\n // let encrypt: typeof CryptoJS.AES.encrypt;\n // try {\n // const aes = await import('crypto-js/aes');\n // encrypt = aes.encrypt;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // return encrypt(text, key).toString();\n // } catch (error) {\n // console.error('Encryption error:', error);\n // throw error;\n // }\n return encryptWithCryptoJS(text, key);\n }\n }\n}\n\n/**\n * **EN**: General AES decryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES θ§£ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param encryptedText The encrypted text (format: iv:encryptedContent, base64 encoded)\n * @param key The decryption key\n *\n * @returns The decrypted text\n */\nexport async function decryptAES(encryptedText: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n try {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n if (!ivBase64 || !encryptedBase64) {\n throw new Error('Invalid encrypted format');\n }\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const iv = Buffer.from(ivBase64, 'base64');\n const encryptedBuffer = Buffer.from(encryptedBase64, 'base64');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const decipher = crypto.createDecipheriv('aes-256-cbc', derivedKey, iv);\n let decrypted = decipher.update(encryptedBuffer);\n decrypted = Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString('utf8');\n } else {\n if (crypto.subtle) {\n // Browsers with Web Crypto API, in secure contexts (HTTPS)\n const iv = Uint8Array.from(atob(ivBase64), (c) => c.charCodeAt(0));\n const encryptedData = Uint8Array.from(atob(encryptedBase64), (c) => c.charCodeAt(0));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['decrypt']);\n const decryptedBuffer = await crypto.subtle.decrypt({ name: 'AES-CBC', iv }, cryptoKey, encryptedData);\n const decoder = new TextDecoder();\n return decoder.decode(decryptedBuffer);\n } else {\n // Browsers without Web Crypto API, or insecure contexts (HTTP), fallback to CryptoJS\n // let decrypt: typeof CryptoJS.AES.decrypt;\n // let utf8: typeof CryptoJS.enc.Utf8;\n // try {\n // const [aes, encUtf8] = await Promise.all([import('crypto-js/aes'), import('crypto-js/enc-utf8')]);\n // decrypt = aes.decrypt;\n // utf8 = encUtf8.default;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // const decrypted = decrypt(encryptedText, key);\n // return decrypted.toString(utf8);\n // } catch (error) {\n // console.error('Decryption error:', error);\n // throw error;\n // }\n return decryptWithCryptoJS(encryptedText, key);\n }\n }\n } catch (error) {\n console.error('Decryption error:', error);\n return '';\n }\n}\nexport async function encryptWithCryptoJS(text: string, key: string) {\n const [\n {\n default: {\n mode: { CBC },\n lib: { WordArray },\n },\n },\n { default: Pkcs7 },\n { default: Base64 },\n { default: Utf8 },\n { default: SHA256 },\n {\n default: { encrypt },\n },\n ] = await Promise.all([\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert text and key to WordArray objects\n const wordArray = Utf8.parse(text);\n const keyArray = SHA256(key);\n const iv = WordArray.random(16);\n\n const encryptedBase64 = Base64.stringify(\n encrypt(wordArray, keyArray, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n }).ciphertext\n );\n return `${Base64.stringify(iv)}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n}\n\nexport async function decryptWithCryptoJS(encryptedText: string, key: string) {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n\n const [\n {\n default: {\n mode: { CBC },\n },\n },\n { default: Pkcs7 },\n { default:
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { base64ToString, stringToBase64 } from './base64';\nimport { random } from './math';\nimport { randomChars } from './string';\n\n/** Secret. No description provided */\nexport async function advancedEncrypt(plainText: string, key: string) {\n const k1 = randomChars(36);\n let e = await encryptAES(plainText, k1);\n const b = stringToBase64(k1);\n const l = b.length;\n const s = random(0, e.length);\n e = e.substring(0, s) + b + e.substring(s);\n const r = stringToBase64(`${s}-${l}`);\n const t = `${e}.${r}`;\n return encryptAES(t, key);\n}\n\n/** Secret. No description provided */\nexport async function advancedDecrypt(encryptedText: string, key: string) {\n const decrypted = await decryptAES(encryptedText, key);\n const [e, r] = decrypted.split('.');\n const [s, l] = base64ToString(r).split('-').map(Number);\n const k1 = base64ToString(e.substring(s, s + l));\n return decryptAES(e.substring(0, s) + e.substring(s + l), k1);\n}\n\n/**\n * **EN**: General AES encryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES ε ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param {string} text The text to be encrypted | θ¦ε ε―ηζζ¬\n * @param {string} key The encryption key | ε ε―ε―ι₯\n *\n * @returns {Promise<string>} The encrypted text | ε ε―εηζζ¬\n */\nexport async function encryptAES(text: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const iv = crypto.randomBytes(16);\n const cipher = crypto.createCipheriv('aes-256-cbc', derivedKey, iv);\n let encrypted = cipher.update(text, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n return `${iv.toString('base64')}:${encrypted}`;\n } else {\n if (crypto.subtle) {\n // Browsers\n try {\n const iv = crypto.getRandomValues(new Uint8Array(16));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['encrypt']);\n const textBytes = encoder.encode(text);\n const encryptedBuffer = await crypto.subtle.encrypt({ name: 'AES-CBC', iv }, cryptoKey, textBytes);\n const ivBase64 = btoa(String.fromCharCode(...iv));\n const encryptedBase64 = btoa(String.fromCharCode(...new Uint8Array(encryptedBuffer)));\n return `${ivBase64}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n } else {\n // let encrypt: typeof CryptoJS.AES.encrypt;\n // try {\n // const aes = await import('crypto-js/aes');\n // encrypt = aes.encrypt;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // return encrypt(text, key).toString();\n // } catch (error) {\n // console.error('Encryption error:', error);\n // throw error;\n // }\n return encryptWithCryptoJS(text, key);\n }\n }\n}\n\n/**\n * **EN**: General AES decryption function - supports both Node.js and browser environments\n *\n * **CN**: ιη¨ AES θ§£ε―ε½ζ° - εζΆζ―ζ Node.js εζ΅θ§ε¨η―ε’\n *\n * @param encryptedText The encrypted text (format: iv:encryptedContent, base64 encoded)\n * @param key The decryption key\n *\n * @returns The decrypted text\n */\nexport async function decryptAES(encryptedText: string, key: string): Promise<string> {\n const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n try {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n if (!ivBase64 || !encryptedBase64) {\n throw new Error('Invalid encrypted format');\n }\n if (isNode) {\n // Node.js\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const crypto = require('crypto');\n const iv = Buffer.from(ivBase64, 'base64');\n const encryptedBuffer = Buffer.from(encryptedBase64, 'base64');\n const derivedKey = crypto.createHash('sha256').update(key).digest();\n const decipher = crypto.createDecipheriv('aes-256-cbc', derivedKey, iv);\n let decrypted = decipher.update(encryptedBuffer);\n decrypted = Buffer.concat([decrypted, decipher.final()]);\n return decrypted.toString('utf8');\n } else {\n if (crypto.subtle) {\n // Browsers with Web Crypto API, in secure contexts (HTTPS)\n const iv = Uint8Array.from(atob(ivBase64), (c) => c.charCodeAt(0));\n const encryptedData = Uint8Array.from(atob(encryptedBase64), (c) => c.charCodeAt(0));\n const encoder = new TextEncoder();\n const keyData = encoder.encode(key);\n const hashBuffer = await crypto.subtle.digest('SHA-256', keyData);\n const cryptoKey = await crypto.subtle.importKey('raw', hashBuffer, { name: 'AES-CBC' }, false, ['decrypt']);\n const decryptedBuffer = await crypto.subtle.decrypt({ name: 'AES-CBC', iv }, cryptoKey, encryptedData);\n const decoder = new TextDecoder();\n return decoder.decode(decryptedBuffer);\n } else {\n // Browsers without Web Crypto API, or insecure contexts (HTTP), fallback to CryptoJS\n // let decrypt: typeof CryptoJS.AES.decrypt;\n // let utf8: typeof CryptoJS.enc.Utf8;\n // try {\n // const [aes, encUtf8] = await Promise.all([import('crypto-js/aes'), import('crypto-js/enc-utf8')]);\n // decrypt = aes.decrypt;\n // utf8 = encUtf8.default;\n // } catch (error) {\n // console.error('Load \"crypto-js/aes\" error:', error);\n // throw error;\n // }\n // try {\n // const decrypted = decrypt(encryptedText, key);\n // return decrypted.toString(utf8);\n // } catch (error) {\n // console.error('Decryption error:', error);\n // throw error;\n // }\n return decryptWithCryptoJS(encryptedText, key);\n }\n }\n } catch (error) {\n console.error('Decryption error:', error);\n return '';\n }\n}\nexport async function encryptWithCryptoJS(text: string, key: string) {\n const [\n {\n default: {\n mode: { CBC },\n lib: { WordArray },\n },\n },\n { default: Pkcs7 },\n { default: Base64 },\n { default: Utf8 },\n { default: SHA256 },\n {\n default: { encrypt },\n },\n ] = await Promise.all([\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert text and key to WordArray objects\n const wordArray = Utf8.parse(text);\n const keyArray = SHA256(key);\n const iv = WordArray.random(16);\n\n const encryptedBase64 = Base64.stringify(\n encrypt(wordArray, keyArray, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n }).ciphertext\n );\n return `${Base64.stringify(iv)}:${encryptedBase64}`;\n } catch (error) {\n console.error('Encryption error:', error);\n throw error;\n }\n}\n\nexport async function decryptWithCryptoJS(encryptedText: string, key: string) {\n const [ivBase64, encryptedBase64] = encryptedText.split(':');\n\n const [\n { default: Base64 },\n { default: Utf8 },\n {\n default: {\n mode: { CBC },\n },\n },\n { default: Pkcs7 },\n { default: SHA256 },\n {\n default: { decrypt },\n },\n ] = await Promise.all([\n import('crypto-js/enc-base64.js'),\n import('crypto-js/enc-utf8.js'),\n import('crypto-js/core.js'),\n import('crypto-js/pad-pkcs7.js'),\n import('crypto-js/sha256.js'),\n import('crypto-js/aes.js'),\n ]);\n\n try {\n // Convert base64 strings to WordArray objects\n const iv = Base64.parse(ivBase64);\n // Derive key using SHA-256 (matching native implementation)\n const derivedKey = SHA256(key);\n const decrypted = decrypt(encryptedBase64, derivedKey, {\n iv,\n mode: CBC,\n padding: Pkcs7,\n });\n return decrypted.toString(Utf8);\n } catch (error) {\n console.error('Decryption error:', error);\n throw error;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["crypto"]
|
|
7
7
|
}
|