【问题标题】: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 才能查找数据。

标签: java security encoding jar encryption


【解决方案1】:

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

【讨论】:

  • 是的,它确实有一个 .txt 文件扩展名。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 2021-04-01
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
相关资源
最近更新 更多