我们自己的工作中会涉及到浏览器端的通信数据加密,但一般普通混淆太容易被黑盒或白盒利用了,后来我们使用 Webassembly 以及 asmjs 加密,但频繁用 C++写相对应的逻辑太麻烦,因此我们在工作中沉淀了 SecurityWorker。简单的说,SecurityWorker 是个可靠的类 WebWorker 环境,他有独立的 VM,兼容 ECMAScript5.1,如此一来既方便你写又有足够的保护强度。
特性:
- 完整的 ECMAScript 5.1 标准兼容性
- 极小的 SecruityWorker VM 文件体积(~160kb )
- 保密性极强,执行逻辑及核心算法完全隐匿不可逆
- 可选择支持多种环境,Browser/NodeJS/小程序(默认不允许 NodeJS 黑盒运行)
- 良好的浏览器兼容性,主流浏览器全覆盖
- 易于使用,API 兼容 WebWorker (不允许访问 DOM/BOM )
- 易于调试,被保护代码不做混淆,报错信息准确
兼容性
- IE11
- Chrome 20+
- Safari 8+
- Firefox 4+
- Edge 12+
- Android 4.2+
- iOS 8+
- NodeJS V4+(Doing)
- 小程序(Doing)