收藏
回答

云开发模式下,如何加密存取云数据库的数据?

    请教下各位大佬,我现在想实现这样一个加解密的需求:用户在小程序的手机端存储数据时,以加密的形式放到云数据库里,但是呢,用户还会根据查询条件去查询数据,这样我在构造查询的代码时,就得使用解密过的数据来查,这咋弄?

    比如用户存储了一个商品,价格是200,然后查询了库里价格在100-300之间的商品。那在存储价格200的那个商品时,200这个值是加密后存储到库里的,那用户查询价格100-300之间的商品时,就必须先把库里的数据价格这个字段先解密了才能查。如果是普通的数据库,自带了加解密的api,这个需求倒也好办,云数据库貌似用的是mangodb吧,我在文档里好像没看到有这样的api。

    所以,最后请教一下,有没什么办法解决这样的需求,谢谢!

回答关注问题邀请回答
收藏

2 个回答

  • 子杰
    子杰
    2019-12-09

    写个云函数,先获取某个用户ID的所有商品,再把商品价格都解密了,然后再获取价格在100-300之间的商品,再返回。 以后用户查询数据,就变成调用云函数了。 by the way,存储在db的数据为啥还要加密? 然后解密算法放在客户端,不是更危险吗?

    2019-12-09
    赞同
    回复 3
    • 明月三千里
      明月三千里
      2019-12-09
      感谢回复!是这样的,我以前搞了个记账小程序,没用云开发,用的我自己的云服务器,当时为了数据的保密性,怕被黑,存储在数据库的数据是加密的,现在我的服务器快要到期了,我想转成云开发的,免费的额度也够我用了,也想继续沿用以前加解密的思路,发现还真不能直接搞,得向你说的那样曲线救国。
      2019-12-09
      回复
    • 子杰
      子杰
      2019-12-09回复明月三千里
      所以是有历史包袱,现在只能想办法兼容?
      2019-12-09
      回复
    • 子杰
      子杰
      2019-12-09回复明月三千里
      那只能曲线救国了,毕竟历史数据都是加密的。
      2019-12-09
      回复
  • 老张
    老张
    2019-12-09

    不支持。

    2019-12-09
    赞同
    回复
登录 后发表内容
问题标签