Java软件如何加密

Java软件如何加密,第1张

Cipher c=CiphergetInstance("AES");

cinit(cENCRYPT_MODE,new SecretKeySpec("1111111111111111"getBytes(),"AES"));

FileOutputStream fos=new FileOutputStream("/1dat");

foswrite(cdoFinal("我神不是人啊~~"getBytes()));

cinit(cDECRYPT_MODE,new SecretKeySpec("1111111111111111"getBytes(),"AES"));

FileInputStream fin=new FileInputStream("/1dat");

byte b[]=new byte[1024];

Systemoutprintln(new String(cdoFinal(b,0,finread(b))));

不知道你打算怎么加密呢?隐藏又是什么意思?是将多个文件合成一个吗?

因为从 *** 作系统层面来说理应能看到所有合法的文件,因此想要让 *** 作系统都看不到基本上是不可能的(何况Java也是用的 *** 作系统API来实现对文件的 *** 作)。

就加密我说说我的想法吧,首先需要一个加密的算法。这个算法需要满足:算法可逆,双向计算复杂度(时间/空间)低,安全程度高,可靠性高。另外可以考虑并行化来增加性能,因为现在的文件系统大多比较大,管理的东西都不小。

如果能找到这样一个算法,可以对于文件使用二进制的读写(Binary I/O),然后每读到一定大小的数据就进行加密运算,并写入目标加密文件中。如果是解密则是读取数据进行解密运算。

题外话:我觉得实际上做这样一个软件也没有必要,每次存取文件都需要进行大量的计算 *** 作,也很容易破坏cache的局部性原理。如果真的需要对一部分文件进行加密,也有很多现成的工具可用,甚至于是说现在的压缩文件都可以带上密码加密。所以我认为这个软件的前景不大,当然如果只是用来玩一玩也是可以的,只不过算法比较难找而已。(如果用RSA这种级别的算法估计也行的吧……)

可以使用加密锁硬件对java进行加密,可以通过加壳的形式防止代码被反编译,也可以在Java代码中进行开发,硬件加密安全性唯一性更高。可以试试ROCKEY系列加密锁,价格也不贵,加密简单。

可以使用Virbox Protector Standalone 加壳工具对java的class类进行加密,支持各种开发语言的程序加密。可防止代码反编译,更安全,更方便

产品简介

Virbox Protector Standalone提供了强大的代码虚拟化、高级混淆与智能压缩技术,保护您的程序免受逆向工程和非法修改。

Virbox Protector Standalone 将被保护的程序代码转换为虚拟机代码,程序运行时,虚拟机将模拟程序执行,进入和离开虚拟机都有高级代码混淆。虚拟机配合代码混淆可以达到很好的保护效果,尤其是开发者的私有逻辑。高级混淆利用花指令和代码非等价变形等技术,将程序的代码,转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。应用程序的解压缩含有动态密码,让一切自动脱壳工具失效,有效的阻止Net、PE 程序的直接反编译。

特点

多种加密策略:代码虚拟化、高级混淆、智能压缩

性能分析:智能分析引擎,一键分析各个函数模块调用的次数

支持多种开发语言:多种开发语言加壳支持

源码级保护:保护到汇编级别,c#保护IL级别

免费更新:免费版本升级

以上就是关于Java软件如何加密全部的内容,包括:Java软件如何加密、使用java做一个加密和隐藏文件的软件,具体需要怎么做求指导、有没有专门对java加密的方案等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9851041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存