##java代码加密工具,防止反编译 采用DES将可执行文件加密,这里提供了两种方案
- 加密jar包 , 运行时使用工具解密jar包,然后将jar包内的class文件加载到JVM中。
- 加密.class 文件,在classloader中解密文件然后加载到JVM中,通过反射调用main方法。
相比混淆,加密的方式可以避免混淆后 bean,jaxb,反射等机制不能正常使用,避免混淆后对外接口改变(虽然混淆时可以通过配置解决,可比较繁琐) 但与此同时缺点也一箩筐:
- 不能对解密工具加密,黑客可以以解密工具为突破口,破解代码
- 分布式环境下,通过解密工具得到的jar包无法通过分布式缓存加载到其它节点