当前位置: 首页 > 知识库问答 >
问题:

如何用外部非文本文件从Eclipse导出可运行的Jar。加密和解密src文件夹中的证书

洪祺
2023-03-14
CryptoFunction secure = new CryptoFunction();

   // user inputted filepath
   String fullfilepath = Filepath;
   String filepath = "";

   // Encrypt code
   File originalFile = new File(fullfilepath);

   // File path for secure data files
   filepath = originalFile.getParent();

   File encryptedaessavekeyFile = new File(filepath + "/EncryptedAESSaveKeyFile.data");
   File encrypteddataFile = new File(filepath + "/EncryptedDataFile.data");
   File publicKeyData = new File("src/public.der");

   // create AES key
   secure.makeKey();

   // save AES key using public key
   secure.saveKey(encryptedaessavekeyFile, publicKeyData);

   // save original file securely 
   secure.encrypt(originalFile, encrypteddataFile); 

}

我会给出完整的代码,但只给那些请求和想要帮助的人。

共有1个答案

温亮
2023-03-14

这可能对您没有帮助,但您总是可以让程序中读取字符串的一部分进行加密,并用您自己的语言对其进行加密,然后将其保存到属性文件中,然后再执行相反的操作来解密

示例:

public String[] encryption(String[] stringList, String stringToEncrypt, /*(other strings)*/)

    String[stringList.length] encrytion;

    for(int amountOfStringsToEncrypt = 0; amountOfString <= stringList; amountOfStringsToEncrypt++){

        StringBuilder encryptedString = new StringBuilder();
        char[stringList.length] toEncrypt;

        for(int encrypt = 0; encrypt <= string.length;encrypt++){
            toEncrypt[encrypt] = string.charAt(encrypt)
        }

        for(int encrypt = 0; encrypt <= toEcrypt.length; encrypt++){
            if(toEncrypt[encrypt].equals(" "){
                toEncrypt[encrypt] == "%_%");
            }
            else if(toEncrypt[encrypt].equals("a"){
                toEncrypt[encrypt] == "{");
            }
            else if(toEncrypt[encrypt].equals("b"){
                toEncrypt[encrypt] == "/");
            }
            else if(toEncrypt[encrypt].equals("c"){
                toEncrypt[encrypt] == "?");
            }
            else if(toEncrypt[encrypt].equals("d"){
                toEncrypt[encrypt] == "&%#");
            }
            //ect....

            encryptedString.add(toEncrypt[encrypt]);
        }

        encryption[amountOfStringsToEncrypt] = encryptedString;
    }

        return encrytption;
}

希望这有帮助!可能是几个错误,因为我在编写代码。

 类似资料:
  • 问题内容: 我在一个需要加密.jar文件的项目中工作,因此没有人可以访问jar文件中的.class文件…。是否有任何Java编码可以帮助我加密.jar文件? 问题答案: 即使您加密了jar文件,也必须在JVM能够运行它之前对其进行解密,因此您将需要另一个jar文件,其中包含解密并在JVM中加载的类。 由于第二个jar文件本身不能被加密,因此想要查看您的类文件的恶意用户可以查看第二个jar文件中的类

  • 我尝试将一个具有不同库的Java项目导出到一个可运行的JAR文件中,其中包括一个JavaFX GUI和许多不同的东西。当我在eclipse中运行我的项目时,没有问题。但是,当我试图将它导出到一个可运行的JAR文件,然后我尝试启动时,它从来没有打开一个窗口,只有一个进程在后台运行。 我不知道如何更好地描述我的问题。但也许你已经可以帮我了解这些信息了。 (使用eclipse)

  • 我有两个jar文件。第一个只包含接口 在请求的基础上,我试图从中加载我的实现类。jar文件存在于某个文件夹中,在运行时使用URLClassLoader。 课程正在加载 我确信这是由于我使用不同的类加载器来加载类,但是我如何克服类之间的兼容性问题。 同样的代码可以在正常的J2SE环境中工作,但不能在JBoss环境中工作。 如果我的查询不清楚,请让我知道我也可以粘贴源代码。

  • 问题内容: 我在将当前项目提取到可执行jar文件时遇到问题。当我在日食中按下运行按钮时,一切正常,但是当我这样做时 然后启动.jar文件;我唯一得到的是带有灰色画布的窗口。它应该启动我编写的游戏(spaceInvaders)。 这是我上载项目的github的链接。我真的不知道错误在哪里,在哪里看。在我的代码中?在我安装的JRE / JDK中?创建罐子时我做错什么了吗? 请帮忙 -。- 问题答案:

  • 问题内容: 假设我的jar包“ com.test.io”中有一个名为test.txt的文件。 我将如何编写一个类来检索此文本文件,然后将内容复制到文件系统上的新文件中? 问题答案: 假设jar在您的类路径中:

  • 我已经用Eclipse创建了一个可运行的jar。在我的项目中,我有一个叫做问卷的文件夹,里面有一些我使用的文本文件。当我运行我的可运行jar时,它不起作用,除非我在与jar相同的文件夹中有文件夹调查表。我尝试了一些我在stackoverflow中读到的解决方案,比如将文件夹调查表添加为源文件夹,也可以从Properties->java build path->Libraries->add clas