diff --git a/src/tools/encryption/encryption.vue b/src/tools/encryption/encryption.vue index a4371c1b..3a05872e 100644 --- a/src/tools/encryption/encryption.vue +++ b/src/tools/encryption/encryption.vue @@ -206,7 +206,13 @@ watch([decryptInput, decryptSecret, decryptAlgo, decryptAesMode], async () => { if (mode === 'GCM') { decryptOutput.value = 'Decrypting...'; try { - decryptOutput.value = await algo.decrypt(mode, decryptInput.value, decryptSecret.value)._async(); + const decryptionResult = algo.decrypt(mode, decryptInput.value, decryptSecret.value); + if (decryptionResult && typeof decryptionResult._async === 'function') { + decryptOutput.value = await decryptionResult._async(); + } + else { + throw new Error('Invalid decryption result or unsupported mode.'); + } } catch (e: any) { decryptOutput.value = '';