Files
30-seconds-of-code/snippets/UUIDGeneratorNode.md
Isabelle Viktoria Maciohsek c08892459a Update formatting
2022-01-30 18:22:35 +02:00

25 lines
670 B
Markdown

---
title: UUIDGeneratorNode
tags: node,random,intermediate
firstSeen: 2017-12-29T09:47:10+02:00
lastUpdated: 2020-10-22T20:24:44+03:00
---
Generates a UUID in Node.JS.
- Use `crypto.randomBytes()` to generate a UUID, compliant with [RFC4122](https://www.ietf.org/rfc/rfc4122.txt) version 4.
- Use `Number.prototype.toString()` to convert it to a proper UUID (hexadecimal string).
```js
const crypto = require('crypto');
const UUIDGeneratorNode = () =>
([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
(c ^ (crypto.randomBytes(1)[0] & (15 >> (c / 4)))).toString(16)
);
```
```js
UUIDGeneratorNode(); // '79c7c136-60ee-40a2-beb2-856f1feabefc'
```