我是Java世界的新手。我对文件安全系统有一个想法。当我添加 一个文件到应用程序,它将加密并将一个文件夹存储在 安装路径。如果我需要查看文件,我需要用我的登录 用户名和密码,文件将自动解密到另一个文件夹。我想我可以使用AES or DES
加密文件 但是任何人都无法从外部访问这些文件夹。我的问题是我可以使用java做所有这些事情吗,如果我能给我一些建议请???
因此,要加密文件的一个方面,您可能需要将其字节收集在数组*中,这可以使用来自java的类Files或流手动完成。现在,假设您获得了使用Files.readAllBytes(Path file);
获得的字节数组因此,现在您可以对这些字节使用所需的任何加密。然后,使用流将它们写入文件。
加密就是这样。
*上面代码的缺陷是它直接在内存上加载字节数组。如果文件只有几KB,那很好,但除此之外它是非常消耗资源,并可能导致"内存不足异常"。自避免这种情况,您可能需要有 2 个流,一个用于读取,另一个用于写入,当您从文件中读取一个字节或一个字节块时,您加密它/它们,然后使用输出流将其写入另一个文件。
对于控制台和 GUI 应用程序,登录处理起来非常简单(取决于 aproach)。如果用户名和密码是应用程序中的变量,您只需检查输入是否与它们匹配,那很好,但是如果您想要活动注册等,则需要文件来保存详细信息。在任何情况下,用户名和密码都可以通过反编译程序或反序列化序列化数据来获取。
所以要回答你问题的最后一部分,是的,你可以用java来做:- )