借用crypto-js第三方库解密报错Malformed UTF-8 data
时间: 2023-12-15 20:30:32 浏览: 309
JavaScript的加密算法类库:crypto-js
5星 · 资源好评率100%
当使用crypto-js第三方库解密时,如果出现"Malformed UTF-8 data"错误,这通常是因为解密的密文不是有效的UTF-8编码。为了解决这个问题,可以尝试将密文转换为Base64编码,然后再进行解密。以下是一个使用crypto-js解密AES加密数据的示例代码:
```python
import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
# 密文和密钥
ciphertext = '...encrypted data...'
key = '...encryption key...'
# 将密文转换为字节数组
ciphertext_bytes = base64.b64decode(ciphertext)
# 创建AES解密器
cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, ciphertext_bytes[:16])
# 解密数据
plaintext_bytes = cipher.decrypt(ciphertext_bytes[16:])
plaintext = unpad(plaintext_bytes, AES.block_size).decode('utf-8')
print(plaintext)
```
阅读全文