-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文字列化されたchrを逆にしたい場合map

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

Python 3.x を使用している場合は、リストに変換します。

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