擅长:python、mysql、java
<p>如果您确实拥有密码的密钥,即,如果您知道要将哪个字母映射到哪个字母,则最好将其写在字典中,并通过dict运行加密消息。由于字符串是不可变的,并且使用str.replace会替换得太频繁,因此最好先将字符串转换为列表:</p>
<pre><code>decryptDict = {"a":"f", "b":"p",...}
L = list(encryptedMessage)
for i in len(L):
L[i] = decryptDict[L[i]]
</code></pre>
<p>如果您没有密钥,那么暴力不是最好的方法,因为要使用暴力,您需要创建26!,i、 e.26*25*……*2*1、字典和通读所有可能的解密(如果加密区分大小写,甚至有52个可能的映射,不包括空格、冒号、数字、问号等)</p>
<p>然后,您应该尝试查看加密消息和未加密文本的相对频率,以确定可能的候选消息。例如,如果在加密文本中,“x”占你信件的15%,那么它很可能是“e”的候选者,以此类推</p>
<p>我希望这是有帮助的</p>