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