Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以使用PyCrypto加密字节流?_Python_Django_Python 3.x_Pycrypto - Fatal编程技术网

Python 是否可以使用PyCrypto加密字节流?

Python 是否可以使用PyCrypto加密字节流?,python,django,python-3.x,pycrypto,Python,Django,Python 3.x,Pycrypto,我正在开发一个应用程序,用户上传一个文件,应用程序会自动为他们处理。为了数据安全,我想加密这些文件。这些文件的大小可以从小到大(2MB到30MB以上)不等。 我发现PyCrypto实际上是一个加密/解密包。这些文件经过处理后被读入io.BytesIO(),然后从字节流创建一个文件。我想知道是否可以“加密”字节流,然后创建文件。因此,当我将文件读入io.Bytes()时,我可以对其进行解密并将文件提供给用户 PyCrypto已被放弃,在Python 3.8中不起作用,因此这项工作的最佳候选者是py

我正在开发一个应用程序,用户上传一个文件,应用程序会自动为他们处理。为了数据安全,我想加密这些文件。这些文件的大小可以从小到大(2MB到30MB以上)不等。
我发现PyCrypto实际上是一个加密/解密包。这些文件经过处理后被读入io.BytesIO(),然后从字节流创建一个文件。我想知道是否可以“加密”字节流,然后创建文件。因此,当我将文件读入io.Bytes()时,我可以对其进行解密并将文件提供给用户

PyCrypto已被放弃,在Python 3.8中不起作用,因此这项工作的最佳候选者是
pyca/cryptography
,但如果您确实需要,可以从以下内容开始:

从io导入字节io
从加密导入随机
从Crypto.Cipher导入AES
有效载荷=字节(b“SomeData”)
#实现PKCS7填充。
块大小=16
长度=有效负载.getbuffer().nbytes
to_pad=块大小-长度%块大小
有效载荷寻道(长度)
有效载荷。写入((chr(至焊盘)*至焊盘。编码(“utf8”))
有效载荷搜索(0)
#设置密码。
iv=随机.new().read(块大小)
密码=AES.new(
“16字符长度”,一些秘密。
模式=AES.mode\U CBC,
IV=IV,
)
加密=cipher.encrypt(payload.read())

是-您试用过吗?没有。我为PyAesCrypt试用过,但该软件包的用户基础不好。所以我很怀疑。我没有尝试过使用PyCrypto,因为我不知道如何继续。你能写出一个例子或一个片段吗?PyCrypto被放弃了,在Python3.8中不起作用,最好的候选者是pyca/cryptography。嘿,谢谢你的回复。我还没试过这个。我会尽快让你知道这对我是否有效!