h5应用数据加密_使用HTML5技术开发APP,APICloud分享加密解决方案

原标题:使用HTML5技术开发APP,APICloud分享加密解决方案

最近,使用HTML5技术开发APP着实火了,各大应用市场上基于HTML5开发的跨平台应用也越来越多。然而巨大的机会背后隐藏着危机,那就是代码盗取的问题。在网络中搜索“HTML代码保护”关键词,1秒之内出现了1千4百多万个结果,由此可见代码安全问题受到开发者的强烈关注。

通常使用HTML5开发的App,网页代码都是保存在App安装包中的(即ipa和apk包),而这些网页代码通常都是没有经过加密处理的。而安装包(即ipa和apk包)就是标准的zip压缩包,任何人下载安装包后直接解压ipa和apk文件,就可以找到其中的网页文件,直接查看源码。

如何防止网页代码不被抄袭?如何保护Web开发者的知识产权及版权?如何使网页代码加密成为了开发者头疼不已的问题。

一、目前常见的代码保护解决方式对比:

常见的网页代码保护解决方式原理是将代码压缩和混淆,但这种方式治标不治本,无法从根本上实现代码加密。

1.JS、CSS代码压缩

压缩不是加密,也不是混淆。但压缩后的JS文件,往往也具有混淆的功能。使用合适的JS、CSS压缩方案,可以减少文件体积、提高载入速度,最重要的是,它还能加快程序的执行性能。问题就是压缩并不是加密,有多种还原的方式。

2.混淆HTML、JavaScript、CSS代码实现保护

这是最通常使用的方法,有很多代码混淆工具,如Packer、Java Compressor、JSObfuscator等,帮助开发者保护代码,然而代码混淆后会降低程序的执行性能。同时也不乏一些代码格式化工具的存在,如JSBeauty、VS的Java编辑器等,用工具将混淆的代码重新格式化后,代码全部恢复为明文,无法做到代码版权保护。

3.仅对HTML文件加密,而对Java和CSS文件不加密

仅对App中的HTML文件进行加解密处理是比较容易实现的,HTML文件可以经过加密后保存在App安装包中,而应用引擎在将HTML文件交给浏览器引擎解析之前可以先对加密的HTML文件进行解密,然后再将解密好的HTML文件交给浏览器解释执行,而在整个浏览器执行过程中,对Java和CSS文件的解密处理时机还是比较难控制的。但是在一个实际App项目中,大量的功能实现都是放在Java文件中的,所以,这种局部加密的方式还是存在较大的局限性。

4.原生应用的代码加固和加密厂商

由于Android应用使用Java语言开发,Java语言存在可以反编译源码的问题,所以行业中针对apk出现了加固、加壳产业,很多厂商可以提供加固服务,比如360、梆梆安全等加固产品。然而应用加固通常只能对原生代码进行加密加固保护,不能对HTML、Java、CSS等网页代码进行加密保护。

二、用加密方式实现代码保护:

作为HTML5业界的一员,APICloud自成立之初一直关注开发者的代码保护问题,在公司成立几个月后,APICloud基于RC4加密算法提出了一套“全包”对称加密解决方案,可以在云编译的时候对安装包中的HTML、CSS、JS代码进行加密处理,从HTML5移动应用开发的源头开始,很大程度的保护源代码的知识产权。APICloud的加密方案特点有:

1、一键加密,运行时解密:开发者只需要在APICloud上编译时选择代码加密,云服务器在编译App安装包时就会将该App的HTML、Java、CSS代码自动加密,同时该App在运行过程中实时解密,App退出即焚,不留下解密痕迹;

2、零修改,零影响:APICloud的加密方式不改变代码量大小,不影响运行效率,针对代码的加密方案不会修改开发者的任何代码,加密后的代码不会比加密前多出一个字节,同时,端底层嵌入了特殊的处理方案,保证代码加密前后,App的运行效率、使用体验不受影响;

3、自动,智能,方便:开发者在APICloud平台开发App的过程中,无需针对代码的保护做特殊的处理,按照正常的开发流程进行即可;

4、安全盒子:在保护开发者代码的同时,针对App的各种潜在安全问题,APICloud定义了一个“安全盒子”,仅对盒子内代码进行加解密保护,盒子外代码灵活处理;

5、重新定义资源标准:APICloud底层在处理被保护代码时,重新分配了App资源的使用方式,统一资源管理,实现加速资源加载,节省系统开销,因此,加密代码后的App在运行过程中甚至能提速运行;

由此可见,APICloud代码加密功能可从HTML源头开始,很大程度的保护源代码的知识产权。近期外界有声音说APICloud的加密功能是Unicode编码的转换,事实上Unicode编码是目前计算机中广泛使用的国际标准编码,它是固定编码,没有任何的加密效果。而APICloud网页代码全包加密方案是基于RC4加密算法实现的加密功能。我们相信,这种代码加密的形态也会成为未来行业内非常重要的规避盗版的方式。

附图是在各大主流的代码编辑器中HTML、Java、CSS代码加密前后的文本视图效果:

Sublime Text-HTML

未加密:

加密后:

Webstorm-JS

未加密:

加密后:

Eclipse-CSS

未加密:

加密后:

Atom-HTML

未加密:

加密后:

浏览器Chrome-HTML

未加密:

加密后:

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值