-2

在我的 python 程序中,我生成一个数字列表,如下所示:

gen1=(random.sample(range(33,126), 8))
            conv=(gen1[0:])

然后将该列表转换为 chr,如下所示:

chr="".join([chr(i) for i in conv])

例如,打印结果如下所示:

`&+hs,DY

现在我的问题是,我如何将它转换回稍后在我的程序中的“conv”状态,用户输入生成的密钥,我的程序需要对其进行逆向工程以计算一些东西,我试过这个:

InPut=input("Please enter the key you used to encrypt the above text: ")
        ord_key="".join([ord for d in InPut])

但是如果之前生成的密钥中有数字,那将不起作用,请帮助我

4

1 回答 1

0

您没有ord正确调用,应该这样做:

InPut=input("Please enter the key you used to encrypt the above text: ")
ord_key="".join(map(str,[ord(d) for d in InPut]))

'&+hs,DY如果您想将字符串反转为mapchr:

reversed = map(chr, "`&+hs,DY")

如果您使用 python 3.x 将其转换为列表:

reversed = list(map(chr, "`&+hs,DY"))
于 2015-12-05T14:42:22.560 回答