我有一个项目,这个项目显示"QR码";然后出于某种原因,我不得不使用某个编码器函数,为此我使用了这个库:
Crypto
我正在尝试使用Crypto,但我得到了这个错误:
Cannot find module 'crypto-js' or its corresponding type declarations.
文件.tsx:
import CryptoJS from 'crypto-js';
const ENC_KEY =
'50b3cc356d8f34017b3cce1a021389458b898ae85a816201695d11cb87fa1769';
const IV = '07ed0f192b6d8f36c24bd802e0a52cd4';
/**
*
* @param encryptedQR it should be a hex based string
* @returns a utf8 based decrypted string
*/
export function decrypt(encryptedQR: string) {
const key = CryptoJS.enc.Hex.parse(ENC_KEY);
const iv = CryptoJS.enc.Hex.parse(IV);
const encryptedHex = CryptoJS.enc.Hex.parse(encryptedQR);
const encrypted = CryptoJS.enc.Base64.stringify(encryptedHex);
const decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.NoPadding,
});
return CryptoJS.enc.Utf8.stringify(decrypted).trim();
}
我用以下步骤解决了我的问题:
1- npm install crypto-js --save
2- npm install @types/crypto-js
3-
from: import { CryptoJS } from ‘crypto-js’;
to: import * as CryptoJS from ‘crypto-js’;
或
1- yarn add crypto-js --save
2- yarn add @types/crypto-js
3-
from: import { CryptoJS } from ‘crypto-js’;
to: import * as CryptoJS from ‘crypto-js’;