开源项目ClassFinal是一款Java Class文件安全加密工具,使用AES算法加密易被反编译的Class文件,避免源码泄漏或字节码被反编译。

ClassFinal实现加密的方式非常巧妙,不仅保证了高效率运行,而且安全可靠。它并不加密原始的class文件,而是采用了清空方法体的方式,保留方法参数和注解等信息,这是做的好处有3点:

  • 兼容Spring、Swagger等扫描注解的框架。
  • 在class文件中的方法体被清空后,反编译者只能看到方法名和注解,却看不到方法的具体内容,有效避免了源代码泄露。
  • 当class被ClassLoader加载时,真正的方法体才会被解密并注入,完全内存解密,不留下任何解密后的文件。

注:ClassFinal功能稳定,技术社区最后一次更新源代码是在2020年5月。

开源协议:Apache-2.0

综合评分:B

软件工程:A1B4C2

源码质量:A0B4C3

缺陷扫描:高8(占比4.2%),中16(占比8.4%),低166(占比87.4%)

下面分别从软件工程和代码质量等多个方面给出推荐评分。

注:A+:优秀,A:好,B:基准,C:差

软件工程评分B
源代码质量评分B
源代码检查详情

开源项目ClassFinal基于Java开发,兼容性好,设计实现巧妙,集成方式简单,支持直接加密jar包或war包,无需修改任何项目代码,兼容Spring Framework,并且提供了maven插件。