擅长:python、mysql、java
<p>我重写了除臭剂:</p>
<pre><code>def deobfuscate_text(coded, key):
offset = (len(key) - len(coded)) % len(key)
shifted_key = key[offset:] + key[:offset]
lookup = dict(zip(key, shifted_key))
return "".join(lookup.get(ch, ch) for ch in coded)
</code></pre>
<p>测试结果是</p>
^{pr2}$
<p>这给了</p>
<pre><code>actionattraction@comcast.net
actionattraction@comcast.net
actionattraction@comcast.net
anybody@home.com
</code></pre>
<p>注意,这三个键串都包含<code>&amp;</code>;用<code>&</code>替换它可以解决问题。可能在某个时候,javascript被错误地转义了html代码;Python有一个模块可以对html特殊字符进行解锁,如下所示:</p>
<pre><code># Python 2.x:
import HTMLParser
html_parser = HTMLParser.HTMLParser()
unescaped = html_parser.unescape(my_string)
# Python 3.x:
import html.parser
html_parser = html.parser.HTMLParser()
unescaped = html_parser.unescape(my_string)
</code></pre>