我們自己的工作中會涉及到瀏覽器端的通訊資料加密,但一般普通混淆太容易被黑盒或白盒利用了,後來我們使用 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)