7***@qq.com
7***@qq.com
  • 发布:2020-01-18 21:34
  • 更新:2020-01-18 22:14
  • 阅读:1181

为什么混淆加密只支持nvue?

分类:uni-app

打包时加密只支持nvue?居然不支持js或vue文件,如果把文件名改成nvue,一大堆CSS编译错误,还要去修改,太麻烦了……之前用过另一个平台的方案,打包可以全部代码都加密,生成的apk改成zip解压后,虽然可以看到原始目录结构,不过文件全是乱码加密的,实际上使用也没有什么加密解密导致的效率问题……
如果uni-app也能实现那就很好了……
如果只是nvue文件加密,那改成nvue代价可能就有点大了……

2020-01-18 21:34 负责人:无 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

全包加密没意义,对性能的负面影响太大。
把需要加密的那个文件,改成nvue就行了

  • 7***@qq.com (作者)

    主要是要加密公共js中的一个接口加密用的key,我按你说的把这个变量放在App.vue中的globalData,然后改名为App.nvue,然后配置中尝试去混淆App.nvue,发现这么操作编译不通过。辣么有什么方法能解决呢。谢谢。

    2020-01-19 00:51

  • DCloud_heavensoft

    回复 7***@qq.com: app.vue暂不支持加密,后续会提供方案

    2020-01-19 17:21

  • 7***@qq.com (作者)

    回复 DCloud_heavensoft: 那按你这么说,APP打开的第一个页面设置为nvue,然后在这个页面把一些敏感变量赋值给storage,然后其它好几个vue文件都import一个js,js中需要这个敏感变量,直接通过storage获取。这样打包后的apk转成zip解压后的代码就不含有这个敏感值了?我还没有试过,感觉很奇怪,应该有更直接处理方式才对!

    2020-01-19 20:58

  • DCloud_heavensoft

    回复 7***@qq.com: 建议通过vuex等内存方式共享,而不是通过storage共享,storage也没那么安全

    2020-01-21 01:35

  • 7***@qq.com (作者)

    回复 DCloud_heavensoft: vuex的变量不是存储在store/index.js里面吗?js文件uni-app又不能加密。

    2020-01-21 09:11

  • DCloud_heavensoft

    回复 7***@qq.com: 不要把初始值放进去。运行时赋值

    2020-01-21 18:43

  • 7***@qq.com (作者)

    回复 DCloud_heavensoft: 那我最小的改动就是软件打开后的那个界面做成nvue(各种CSS填坑),然后在这个界面进行vuex变量的赋值,然后配置下这个nvue文件为加密文件,打包时打上加密选项……感觉这种仅支持nvue加密的做法有点奇怪……和后端接口交互,一般都有接口签名加密的密钥,我觉得如果是商业应用,应该都有类似需要加密的变量需求的。

    2020-01-21 19:46

  • 7***@qq.com (作者)

    回复 DCloud_heavensoft: 很多人如果不注意,可能都觉得uni-app打包后的APP就是完全加密的,我看论坛中有的评论有好多人很吃惊,说为什么解压后能看到源码之类……感觉打包时再加强下这个提示,引导他们去做相应的加密处理会更好……界面那些效果泄漏倒是其次,主要是一些敏感信息泄漏影响很大……

    2020-01-21 19:53

该问题目前已经被锁定, 无法添加新回复