{{random-uuid}}当前通过{{Math/random}}和{{rand-int}}使用{{Math/random}}生成随机数用于v4 UUID。本补丁旨在使用可用的密码学强PRNG(伪随机数生成器)。
使用的函数包括
IE11中的{{window.msCrypto.getRandomValues}}
不支持前者或Node.js上未提供加密模块的浏览器中的{{Math/random}}
目前未使用
Node.js上的{{crypto.randomBytes}}
Google Closure似乎不提供对加密API的功能检测或包装,因此附加的补丁提案基于功能检测实现了一个shim。
一个悬而未决的问题是,如何使Node.js的{{crypto}}模块可用,因为ClojureScripts的{{core.cljs}}似乎没有条件{{require}} Node.js模块,也许应该保持这种方式。