{{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-APIs包装器,因此附带的补丁提案基于功能检测实现了一个shim。
一个悬而未决的问题是Node.js {{crypto}} 模块应该如何提供,因为ClojureScripts {{core.cljs}}似乎没有条件{{require}} Node.js模块,并且可能应该保持这样。