From b5b848ffb35748be22bbc5c6a5129a72ec817c12 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Feb 2026 22:10:00 +0000 Subject: [PATCH 1/3] Initial plan From 35818af83018a4d679366bb16db3aa340461fca3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 01:56:47 +0000 Subject: [PATCH 2/3] Update generateCdeToken to use hex encoding Co-authored-by: venkatamutyala <6570292+venkatamutyala@users.noreply.github.com> --- util/token-generator.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/util/token-generator.js b/util/token-generator.js index 7fcdcb4..bbd29bc 100644 --- a/util/token-generator.js +++ b/util/token-generator.js @@ -1,10 +1,10 @@ import crypto from 'crypto'; /** - * Generates a 43-character URL-safe random token - * Uses 256 bits of entropy (32 bytes), encoded as base64url - * Character set: A-Z, a-z, 0-9, -, _ (base64url) + * Generates a 43-character random token with only alphanumeric characters + * Uses 172 bits of entropy (22 bytes), encoded as hex and truncated + * Character set: 0-9, a-f (hex) */ export function generateCdeToken() { - return crypto.randomBytes(32).toString('base64url'); + return crypto.randomBytes(22).toString('hex').slice(0, 43); } From 7a632f2bc560b6f9b9586653a69d376c25c4ee2d Mon Sep 17 00:00:00 2001 From: Venkat Date: Mon, 2 Feb 2026 18:25:58 -0800 Subject: [PATCH 3/3] chore: Update util/token-generator.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- util/token-generator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/token-generator.js b/util/token-generator.js index bbd29bc..7c51eef 100644 --- a/util/token-generator.js +++ b/util/token-generator.js @@ -2,7 +2,7 @@ import crypto from 'crypto'; /** * Generates a 43-character random token with only alphanumeric characters - * Uses 172 bits of entropy (22 bytes), encoded as hex and truncated + * Generates 22 random bytes (176 bits) and encodes as hex, retaining 172 bits after truncation * Character set: 0-9, a-f (hex) */ export function generateCdeToken() {