擅长:python、mysql、java
<p>原来这些退格字符是由Perl的Crypt::CBC模块添加的<a href="http://search.cpan.org/~lds/Crypt-CBC-2.32/CBC.pm#Padding_methods" rel="nofollow">byte padding</a>。在这个特定的例子中,填充字节都是“08”,表示有8个字节的填充应该被删除。PyCrypto在解密或加密期间不处理填充。我可以这样去掉填充字节:</p>
<pre><code>text_bytes = bytearray(plaintext,'utf-8')
num_bytes_padding = text_bytes[len(text_bytes) - 1]
text_bytes[-1 * num_bytes_padding:] = []
plaintext = text_bytes.decode('utf-8')
</code></pre>