尝试加密时溢出错误

2024-06-28 09:38:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用cryptography库加密字节,如下所示:

from cryptography.fernet import Fernet
key = b'12gegh7yiJ2NK39yBLXtvjxojhfeefTCXlHJNCz9eU3='
Fernet(key).encrypt(my_bytes)

在哪里

import sys
sys.getsizeof(classifier_bytes)

3539843486,但我得到了一个

OverflowError: integer 3539843456 does not fit '32-bit int'

我猜my_bytes太大了?我能做些什么来解决这个问题


1条回答
网友
1楼 · 发布于 2024-06-28 09:38:23

pyca/cryptography中Fernet的实现目前无法处理>;2GiB文件。解决此问题的问题已打开:https://github.com/pyca/cryptography/issues/5418

您可以自己多次调用fernet,但请注意,除非向加密的有效负载添加额外的元数据,否则您可能会容易受到块重新排序和截断攻击

更新:此问题已在pyca/cryptography 3.1中解决

相关问题 更多 >