Java代码加密工具Allatori的原理是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1349个文字,预计阅读时间需要6分钟。
一般而言,我们在写Java程序时都会使用Maven(或Gradle)做依赖集成。在这个过程中,Maven(或Gradle)充当编译黑盒,输入源码而输出字节码。但我们也知道,Java程序可以通过反编译工具看到源码。
一般来说我们在写Java程序时都会使用Maven(或Gradle)做依赖集成。这过程中Maven(或Gradle)作为编译黑盒,输入源码而输出字节码。但我们也知道Java程序是可以通过反编译工具看到源码,这就很尴尬了,倘若你的团队拥有的核心代码不想被别人转译盗取,但代码管理规范并没有在信息安全上做得“滴水不漏”,这时即使没有源码授权,破译获取也是分分钟的事情。
若真出现这种情况,那么代码混淆器能够帮到你。在不做入侵式代码加密的前提下,网上有两个比较成熟的解决方案。一个是ProGuard,另一个是Allatori。
ProGuard开源且能直接整合到项目,但加密效果简单且配置复杂。个人认为学习曲线比较陡峭且对已有的自动化运维体系整合难度较大因此弃用了这个方案。Allatori虽然收费,但配置上使用上都比较简单,再加上强大的加密算法应该是商业使用的首选吧。最最重要的是它虽然付费授权但也不贵,能花钱解决的尽量花钱解决就完事了。
本文共计1349个文字,预计阅读时间需要6分钟。
一般而言,我们在写Java程序时都会使用Maven(或Gradle)做依赖集成。在这个过程中,Maven(或Gradle)充当编译黑盒,输入源码而输出字节码。但我们也知道,Java程序可以通过反编译工具看到源码。
一般来说我们在写Java程序时都会使用Maven(或Gradle)做依赖集成。这过程中Maven(或Gradle)作为编译黑盒,输入源码而输出字节码。但我们也知道Java程序是可以通过反编译工具看到源码,这就很尴尬了,倘若你的团队拥有的核心代码不想被别人转译盗取,但代码管理规范并没有在信息安全上做得“滴水不漏”,这时即使没有源码授权,破译获取也是分分钟的事情。
若真出现这种情况,那么代码混淆器能够帮到你。在不做入侵式代码加密的前提下,网上有两个比较成熟的解决方案。一个是ProGuard,另一个是Allatori。
ProGuard开源且能直接整合到项目,但加密效果简单且配置复杂。个人认为学习曲线比较陡峭且对已有的自动化运维体系整合难度较大因此弃用了这个方案。Allatori虽然收费,但配置上使用上都比较简单,再加上强大的加密算法应该是商业使用的首选吧。最最重要的是它虽然付费授权但也不贵,能花钱解决的尽量花钱解决就完事了。

