使用java做一个加密和隐藏文件的软件,具体需要怎么做求指导

如题所述

不知道你打算怎么加密呢?隐藏又是什么意思?是将多个文件合成一个吗?
因为从操作系统层面来说理应能看到所有合法的文件,因此想要让操作系统都看不到基本上是不可能的(何况Java也是用的操作系统API来实现对文件的操作)。
就加密我说说我的想法吧,首先需要一个加密的算法。这个算法需要满足:算法可逆,双向计算复杂度(时间/空间)低,安全程度高,可靠性高。另外可以考虑并行化来增加性能,因为现在的文件系统大多比较大,管理的东西都不小。
如果能找到这样一个算法,可以对于文件使用二进制的读写(Binary I/O),然后每读到一定大小的数据就进行加密运算,并写入目标加密文件中。如果是解密则是读取数据进行解密运算。
题外话:我觉得实际上做这样一个软件也没有必要,每次存取文件都需要进行大量的计算操作,也很容易破坏cache的局部性原理。如果真的需要对一部分文件进行加密,也有很多现成的工具可用,甚至于是说现在的压缩文件都可以带上密码加密。所以我认为这个软件的前景不大,当然如果只是用来玩一玩也是可以的,只不过算法比较难找而已。(如果用RSA这种级别的算法估计也行的吧……)追问

毕业设计要求做这个东西。导师说,能实现限定几个格式比如txt doc什么的加密和隐藏就行。因为没接触过算法加密这方面的东西,所以没有头绪

追答

据我了解,对于文档内容,Windows有提供给Office编程的C++和C#接口,但是好像没有听说过有Java接口,你得去调研一下。如果从文件角度考虑,其实和普通文件是一样的(如果不需要进行内容读取直接加密的话)。
具体操作应该还是在文件层面进行加密吧

温馨提示:内容为网友见解,仅供参考
无其他回答

使用java做一个加密和隐藏文件的软件,具体需要怎么做求指导
就加密我说说我的想法吧,首先需要一个加密的算法。这个算法需要满足:算法可逆,双向计算复杂度(时间\/空间)低,安全程度高,可靠性高。另外可以考虑并行化来增加性能,因为现在的文件系统大多比较大,管理的东西都不小。如果能找到这样一个算法,可以对于文件使用二进制的读写(Binary I\/O),然后每读...

Java全系工程源码加密,防止反编译
Maven项目可通过classfinal-maven-plugin实现全项目加密,包括配置文件和依赖,支持绑定特定机器启动,确保项目只能在指定机器上运行。使用ClassFinal后,即使面对反编译,方法体的内容也会被隐藏,仅留下方法名和注解,确保项目的运行安全。在实际操作中,可通过下载classfinal-fatjar-1.2.1.jar并执行特定命令...

如何加密电脑的文件夹?
先把文件里面内容读取出来,读取出来的内容在程序里面叫字符串,这个字符串又可以分解成一个一个的字符,这个字符就相当于文件里面的一个一个字,好了,到了这里就是关键了,加密就从这里开始。字符被提取出来之后就可以对字符进行操作了,比如对这个字符按某一个值(这这值叫KEY)进行移位,当然是每一...

java隐藏文件夹问题
在你选的那个选项上面有个 隐藏受保护的操作系统文件(推荐)将它取消就好了 前提是 显示所有文件啊!

Java 创建一个不可见的文件夹或文件
java 调用windows文件属性设置命令。示例代码:D盘下创建hello文件夹设置属性为隐藏 import java.io.File;import java.io.IOException;public class Test { public static void main(String[] args) { File file=new File("D:\/hello");try { if(!file.exists())file.mkdir();String string=" ...

JAVA使用什么加密算法和解密算法好
简单的Java加密算法有:第一种. BASE Base是网络上最常见的用于传输Bit字节代码的编码方式之一,大家可以查看RFC~RFC,上面有MIME的详细规范。Base编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base来将一个较长的唯一标识符(一般为-bit的UUID)编码为一...

怎么才能把java内存里的隐藏文件删除?
两种方法:1.安装一个手机文件管理器(例如:explorer),利用它的显示隐藏文件夹的功能删掉想删的任何文件。当然它本身就是个JAVA软件,所以还是使用下面的方法吧... ...2.用USB线把手机与电脑连上,打开“我的电脑”(注意!!是你的电脑里面的“我的电脑”,不是我的电脑!!!哈哈!),点“...

为什么从隐藏文件夹(@java)用X
其他软件?其他软件是直接运行了.jar吧,不是可执行的.jar,直接运行就是这么提示的。

Java加密和数字签名
使用私钥加密的话 首先需要一个密钥 可用javax crypto KeyGenerator产生一个密钥(java security Key) 然后传递给一个加密工具(javax crypto Cipher) 该工具再使用相应的算法来进行加密 主要对称算法有 DES(实际密钥只用到 位) AES(支持三种密钥长度 位) 通常首先 位 其他的还有DESede等 jdk 种也提供了对对称算法的...

用JAVA编写一个具有病毒功能的程序,杀毒软件会报毒吗
既然是简单的,又是Java编写的,主流杀软可以拦截,不能拦截只能说楼主的病毒很强大。既然编写这种程序,一定要做好影子系统,否则。。。呵呵

相似回答