为什么我在 crypto-js 上收到格式错误的 UTF-8 数据错误?

我尝试使用crypto-js以下方法加密和解密此字符串:


const str = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI1ZDg5MjMxMjc5OTkxYjJhNGMwMjdjMGIiLCJoc2giOiIkMmEkMTMkWk53Y0cubjdRZFIybDA3S1RHd2RoLlN0QksudW5GSFVGLkZnZ0tQTGlUV2pOVEFqVy9SMm0iLCJncmFudCI6ImFjY2VzcyIsImlhdCI6MTU2OTI2ODUwMiwiZXhwIjoxNjAwODI2MTAyfQ.PQcCoF9d25bBqr1U4IhJbylpnKTYiad3NjCh_LvMfLE~3~null~undefined~434ce0149ce42606d8746bd9`;

但我得到了一个错误:


Error: Malformed UTF-8 data

我做错了什么?我该如何解决?


完整代码也在 stackbliz 上:


import crypto from 'crypto-js';


const str = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI1ZDg5MjMxMjc5OTkxYjJhNGMwMjdjMGIiLCJoc2giOiIkMmEkMTMkWk53Y0cubjdRZFIybDA3S1RHd2RoLlN0QksudW5GSFVGLkZnZ0tQTGlUV2pOVEFqVy9SMm0iLCJncmFudCI6ImFjY2VzcyIsImlhdCI6MTU2OTI2ODUwMiwiZXhwIjoxNjAwODI2MTAyfQ.PQcCoF9d25bBqr1U4IhJbylpnKTYiad3NjCh_LvMfLE~9~null~undefined~434ce0149ce42606d8746bd9`;


const cryptoInfo = crypto.AES.encrypt(str, 'secret').toString();


console.log({ cryptoInfo });

const info2 = crypto.AES.decrypt(str, 'secret').toString(crypto.enc.Utf8);


console.log({ info2 });


波斯汪
浏览 769回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript