由于微信小程序的限制,无法使用Web Crypto API的crypto.randomUUID()
生成随机的 UUIDv4,也不能通过引入依赖于 crypto 的第三方库(例如uuid)实现(一般使用 crypto 生成安全的随机数),因此对uuid进行改造,使其能在微信小程序中正常工作。
要求基础库版本>=2.15.0
将本仓库的所有文件引入到微信小程序项目中,然后使用以下代码生成 UUIDv4:
import uuidv4 from "uuidv4";
var uuid = await uuidv4();
(由于wx.getRandomValues()
是异步的,uuidv4()
也是异步的)
使用微信小程序基础库的wx.getRandomValues()
获取密码学安全随机数替换crypto.randomFillSync()
。