Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何标记用我的程序创建的文件_Java_File_Security - Fatal编程技术网

Java 如何标记用我的程序创建的文件

Java 如何标记用我的程序创建的文件,java,file,security,Java,File,Security,我正在制定一个计划,帮助我的老师禁止家庭作业作弊。这是一个简单的文本管理程序,你不能粘贴文本,并加密和解密每个文件在一个独特的方式。我已经创建了这个程序,我只是想问一下,是否有办法标记这个程序创建的文件,它是由那个程序创建的。只是为了确保noone知道加密机是如何工作的,并创建一个能够创建相同格式的程序。那么,有没有一种方法可以将一个不可见的键或类似的东西添加到一个只能由教师版本的程序读取的文件中?如果有人知道如何创建一个创建相同格式的程序,那么他们就可以将不可见的键添加到该文件中 如果您的程序

我正在制定一个计划,帮助我的老师禁止家庭作业作弊。这是一个简单的文本管理程序,你不能粘贴文本,并加密和解密每个文件在一个独特的方式。我已经创建了这个程序,我只是想问一下,是否有办法标记这个程序创建的文件,它是由那个程序创建的。只是为了确保noone知道加密机是如何工作的,并创建一个能够创建相同格式的程序。那么,有没有一种方法可以将一个不可见的键或类似的东西添加到一个只能由教师版本的程序读取的文件中?

如果有人知道如何创建一个创建相同格式的程序,那么他们就可以将不可见的键添加到该文件中


如果您的程序只需要写入文件,那么应该使用公钥对其进行加密。用于解密的私钥将仅由教师持有。该文件还应包含学生姓名,这样每个人都不能只提交同一个文件。

我认为您应该将创建文件作为一个步骤,将安全性作为另一个步骤。为了安全起见,我宁愿选择图书馆提供的东西,那些已经测试过并证明安全的东西。安全性的强弱取决于使用中的安全模块,而不是应用程序逻辑。软件安全是一个复杂的话题,需要深入的知识和经验。我认为,如果有人已经能够重新创建您独特的加密方式,那么他/她也能够在生成的文件中写入额外的信息,这一想法就被打破了。

如果安全性是基于对加密机工作原理的了解,那么它是有缺陷的。加密不依赖于秘密算法。所有的加密算法都是公开的和开源的。加密的安全性依赖于对秘密密钥的了解。是的,但是如果学生想继续使用它,他们必须能够读取它,因此他们必须能够通过程序解密,但不能使用其他任何东西。它不适用于公钥和私钥,该文件的加密是由程序进行的数学计算,它取决于文本的大小,因此每个文件的加密方式不同。他们其实不需要签字,因为他们通过电子邮件把作业发给老师,每个人都有不同的文本要写。最后一件事是他们需要能够解密它,因为他们可能一次做一部分作业,而不是保存它,一天后如果他们返回,他们需要能够阅读它,看看他们在哪里找到了