mirror of
https://github.com/Nystik-gh/ignis.git
synced 2026-06-17 04:35:53 +00:00
19 lines
434 B
JavaScript
19 lines
434 B
JavaScript
export function randomBytes(size) {
|
|
const buf = new Uint8Array(size);
|
|
crypto.getRandomValues(buf);
|
|
|
|
buf.toString = function (encoding) {
|
|
if (encoding === "hex") {
|
|
return Array.from(this)
|
|
.map((b) => b.toString(16).padStart(2, "0"))
|
|
.join("");
|
|
}
|
|
if (encoding === "base64") {
|
|
return btoa(String.fromCharCode(...this));
|
|
}
|
|
return new TextDecoder().decode(this);
|
|
};
|
|
|
|
return buf;
|
|
}
|