{{random-uuid}} 当前通过 {{Math/random}} 和 {{rand-int}} 使用来为 v4 UUIDs 生成随机数。此补丁旨在在使用可用的情况下使用密码学安全的 PRNG(伪随机数生成器)。
所使用的函数是
{{window.crypto.getRandomValues}} 在大多数浏览器中
{{window.msCrypto.getRandomValues}} 在 IE11 中
* {{Math/random}} 在不支持前者或 Node.js 上未提供crypto模块的浏览器中
当前未使用
* {{crypto.randomBytes}} 在 Node.js 中
Google Closure 似乎没有提供功能检测或用于crypto-APIs的包装器,因此附带的补丁提案基于功能检测实现了一个shim。
一个开放问题是Node.js {{crypto}}模块如何使其可用,因为ClojureScripts {{core.cljs}} 似乎没有条件 {{require}} Node.js模块,也许应该保持这种状态。