問題は、(非)パディングアルゴリズムが正しくないためです。
(3)DESは、8バイトのブロックを暗号化/復号化します。すべてのテキストが正確に8バイトであるとは限らないため、最後のブロックにはプレーンテキストからのオリジナルではないバイトが含まれている必要があります。ここでの秘訣は、プレーンテキストの最後の文字がどれであるかを見つけることです。プレーンテキストの長さが事前にわかっている場合もあります。その場合、パディング文字は実際には何でもかまいません。
プレーンテキストの長さがわからない場合は、PKCS5Paddingなどの決定論的パディングアルゴリズムを使用する必要があります。PKCS5Paddingは、プレーンテキストがバイト単位のN *ブロックサイズであっても、常にパディングを実行します。この理由は単純です。そうでない場合、最後のバイトがプレーンテキストであるかパディングであるかがわかりません41 41 41 41 41 41 41 41 08 08 08 08 08 08 08 08。8つの「A」文字で、8つのパディングバイトがあります。
パディング解除アルゴリズムが適切に実装されていないか、非決定論的パディングアルゴリズムが展開されているようです。