gpt4 book ai didi

python - 我可以使用多处理使其并行化吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:54:34 25 4
gpt4 key购买 nike

此代码来自:http://code.activestate.com/recipes/577090-file-encryption-using-stream-cipher/

import sys 
import random

if len(sys.argv) != 4:
print "Usage: encdec_.py longintkey [path]filename1 [path]filename2"
sys.exit()
random.seed(long(sys.argv[1])) # key
f1 = open( sys.argv[2], "rb")
bytearr = map (ord, f1.read () )
f2 = open( sys.argv[3], "wb" )
for i in range(len(bytearr)):
f2.write(chr(bytearr[i] ^ random.randint(0, 255)))
f1.close()
f2.close()

这段代码可以使用multiprocessing并行化吗?

最佳答案

通常您会将文件分成多个部分并将每个部分发送到一个单独的进程以进行多处理,但在这种情况下这不起作用,因为您需要从同一种子按顺序生成随机数。

如果您愿意更改加密算法,您可以通过多种替代方法将其设置为能够处理多个 block 。但是“流密码”特别不适合这种事情。

您可以先生成随机数,然后将这些生成的数字连同它们的位置一起提供给多个进程,但这更有可能减慢您的速度而不是加快您的速度。

所以我会说“不”,你不能让它多处理,至少不能以实用的方式。

(我假设这是一个实验或学习练习,你不是想用它来进行严肃的加密。如果你想用它来做一些严肃的事情,有很多功能齐全的加密库函数可供选择来自.)

关于python - 我可以使用多处理使其并行化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11018489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com