1 files changed, 6 insertions, 5 deletions
diff --git a/api/src/util/RandomInviteID.ts b/api/src/util/RandomInviteID.ts
index 45450b0d..30ba3252 100644
--- a/api/src/util/RandomInviteID.ts
+++ b/api/src/util/RandomInviteID.ts
@@ -16,16 +16,17 @@ export function random(length = 6) {
export function snowflakeBasedInvite() {
// Declare all characters
let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
-
+ let base = BigInt(chars.length);
let snowflake = Snowflake.generateWorkerProcess();
-
+
// snowflakes hold ~10.75 characters worth of entropy;
// safe to generate a 8-char invite out of them
let str = "";
for (let i=0; i < 10; i++) {
- str += chars.charAt((snowflake % chars.length));
- snowflake /= chars.length;
+
+ str += chars.charAt(snowflake % base);
+ snowflake = snowflake / base;
}
- return str.substr(3,8).reverse(); // little-endianise for entropy
+ return str.substr(3,8).split("").reverse().join("");
}
|