收藏
回答

能否原生支持 crypto -Hash/加密/getRandomValues()

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 Crypto 微信iOS客户端 7.0.6 2.8.0

请求原生支持 Crypto,包括:

1、getRandomValues(),符合密码学安全的随机数填充。(迫切 QAQ)

曾经有人提出这个疑问:如何调用js原生的crypto接口,官方给出的解决方案是用第三方库。但是第三方库的 getRandomValues() 都是从 Node.js 的原生 crypto 模块、或者浏览器顶层 window.crypto 中获取的方法,这些小程序都不支持。虽然可以使用 Math.random() 实现一个简单版本。但是 Math.random() 并不是密码学安全的。

2、subtle 属性,即一系列散列函数、加密/解密、签名/验证(MD5、SHA系列、RSA、AES、DES等)

这个需求可以用第三方库实现,所以并不是很迫切。如果这种工具类接口原生支持,也能减少小程序的体积(然而增大微信体积 :P)而且,wx.getFileInfo 接口中,文件摘要也用到了 MD5 和 SHA1,希望能暴露出这些接口。

小程序如何生成 uuid,这个问题也是没有 crypto。uuid 要借助 crypto 中生成安全的随机字符


最后一次编辑于  2019-08-16
回答关注问题邀请回答
收藏

5 个回答

  • 技术产品专员-汤尼
    技术产品专员-汤尼
    2019-08-12
    感谢建议,我们评估下。
    2019-08-12
    有用 1
    回复 10
    • Soldier_Mr
      Soldier_Mr
      2019-12-25
      请问解决了么,或者有什么解决的方案可以提供一下没
      2019-12-25
      回复
    • 活在梦里
      活在梦里
      2020-04-03
      半年过去了,这个产品是不是离职了
      2020-04-03
      回复
    • W
      W
      2020-07-17
      一年快过去了,有消息了吗
      2020-07-17
      回复
    • yang
      yang
      2022-02-28
      三年过去了,月消息了吗?或有什么解决方案?
      2022-02-28
      回复
    • wu wei
      wu wei
      2022-06-21
      用的第三方sdk,sdk有用uuid
      2022-06-21
      回复
    查看更多(5)
  • 陈式坚
    陈式坚
    2020-03-01

    问题解决情况如何


    2020-03-01
    有用 1
    回复
  • oddguan
    oddguan
    05-22

    2024 年了,发现微信支持 `wx.getRandomValues` 了

    https://developers.weixin.qq.com/miniprogram/dev/api/device/crypto/wx.getRandomValues.html

    sdk 内部调用的话,可能需要手动 polyfill 一下 global/window 对象。

    05-22
    有用
    回复
  • wu wei
    wu wei
    2022-06-21

    2022年了

    2022-06-21
    有用
    回复
  • 神经蛙
    神经蛙
    2021-02-04

    马上过去一年了,一直没有解决吗?迫切需要 crypto 随机函数

    2021-02-04
    有用
    回复
登录 后发表内容
问题标签