UUIDv7
UUID Version 7
A time-ordered UUID combining a Unix timestamp with random bits, enabling sortable unique identifiers.
技术细节
UUIDv7 relies on pseudo-random number generators (PRNGs). JavaScript's Math.random() uses an implementation-specific PRNG (typically xoshiro256**) that is fast but not cryptographically secure. For security-sensitive generation (tokens, passwords, keys), the Web Crypto API's crypto.getRandomValues() draws from the OS entropy pool (/dev/urandom on Linux, CryptGenRandom on Windows). True randomness requires hardware sources (thermal noise, radioactive decay) and is unnecessary for most generation tasks.
示例
```javascript
// UUIDv7: generation example
function generate(options = {}) {
const { length = 10, type = 'alphanumeric' } = options;
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const values = crypto.getRandomValues(new Uint32Array(length));
return Array.from(values, v => chars[v % chars.length]).join('');
}
```