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

Posted

技术标签:

【中文标题】当我们重新导入时,jar 文件是不是会更改编码文本文件的内容?【英文标题】:Does jar file change the contents of an encoded text file, when we reimport it?当我们重新导入时,jar 文件是否会更改编码文本文件的内容? 【发布时间】:2011-08-25 01:20:05 【问题描述】:

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

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

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

export-jar-file-process 是否会改变包含的文本文件的内容,例如是编码吗?

【问题讨论】:

"..在将文本文件中的内容导出到 jar 文件中之前对其进行保护。"如果您的代码可以解密,并且您的代码处于黑客的控制之下,那么黑客也可以解密它。 所以我认为我的措辞应该更彻底。它不是非常敏感,它是我们希望具有“足够好”安全性的灵活性的情况之一。我们将只通过 .jar 公开类文件。此外,这个文本文件实际上是一个查找表,只有通过我们的 API 才能查找数据。 【参考方案1】:

用于生成 zip 和 jar 的 Jar 命令和 java.util API 不处理编码——它们将文件视为二进制文件。我会查看您的构建过程,看看您是否有一些属性替换过滤器等。我已经看到 Maven 和 ANT 将二进制文件与文本文件名混淆...顺便说一句,您的编码文件是否零售 .txt 扩展名?

【讨论】:

是的,它确实有一个 .txt 文件扩展名。

以上是关于当我们重新导入时,jar 文件是不是会更改编码文本文件的内容?的主要内容,如果未能解决你的问题,请参考以下文章

当用户更新或重新安装应用程序时,注册 ID 是不是会更改

Postgres 和 Docker 在文件更改时重新部署

YouTube 是不是会在上传具有推荐视频格式 (H.264) 的文件时重新编码?

在不重新加载 web 视图的情况下更改 html 文本颜色

角度“动态文本”

fastadmin 中 Excel导入失败的原因