diff --git a/packages/@core/base/shared/src/utils/encrypt.ts b/packages/@core/base/shared/src/utils/encrypt.ts index dd58cca48..5ce32b8f7 100644 --- a/packages/@core/base/shared/src/utils/encrypt.ts +++ b/packages/@core/base/shared/src/utils/encrypt.ts @@ -21,9 +21,9 @@ export const AES = { if (!key) { throw new Error('AES 加密密钥不能为空'); } - if (key.length !== 32) { + if (key.length !== 32 && key.length !== 16) { throw new Error( - `AES 加密密钥长度必须为 32 位,当前长度: ${key.length}`, + `AES 加密密钥长度必须为 32 位或 16 位,当前长度: ${key.length}`, ); } diff --git a/packages/effects/common-ui/src/components/captcha/verification/verify-slide.vue b/packages/effects/common-ui/src/components/captcha/verification/verify-slide.vue index a82534381..feba583ba 100644 --- a/packages/effects/common-ui/src/components/captcha/verification/verify-slide.vue +++ b/packages/effects/common-ui/src/components/captcha/verification/verify-slide.vue @@ -17,7 +17,8 @@ import { import { $t } from '@vben/locales'; -import { aesEncrypt } from './utils/ase'; +import { AES } from '@vben-core/shared/utils'; + import { resetSize } from './utils/util'; const props = withDefaults(defineProps(), { @@ -179,7 +180,7 @@ function end() { const data = { captchaType: captchaType.value, pointJson: secretKey.value - ? aesEncrypt( + ? AES.encrypt( JSON.stringify({ x: moveLeftDistance, y: 5 }), secretKey.value, ) @@ -205,7 +206,7 @@ function end() { tipWords.value = `${((endMovetime.value - startMoveTime.value) / 1000).toFixed(2)}s ${$t('ui.captcha.title')}`; const captchaVerification = secretKey.value - ? aesEncrypt( + ? AES.encrypt( `${backToken.value}---${JSON.stringify({ x: moveLeftDistance, y: 5 })}`, secretKey.value, )