当我们重新导入编码文本文件时,jar 文件是否会更改编码文本文件的内容



我有一个Java应用程序,我需要在将文本文件中的内容导出到jar文件中之前对其进行保护。所以我使用"javax.crypto.Cipher"提供的BlowFish算法对文件进行编码。我即时解密它。

当我从工作站运行应用程序时,一切正常。但是一旦我将应用程序导出为 jar 文件并运行它。它会在尝试解密受保护文本文件内容的代码部分中引发错误。错误是:

javax.crypto.BadPaddingException:给定最终块未正确填充

导出-jar-文件-进程是否会以任何方式更改包含的文本文件的内容,例如它的编码?

用于生成zips和jar的Jar命令和java.util API不处理编码 - 它们将文件视为二进制文件。我会看看你的构建过程,看看你是否有一些属性替换过滤器等。我见过 Maven 和 ANT 用文本文件名弄乱二进制文件......顺便说一下,您的编码文件零售扩展名.txt吗?

最新更新