Skip to content

Commit c6b2fbb

Browse files
committed
Update just.html
1 parent 623a6c3 commit c6b2fbb

1 file changed

Lines changed: 66 additions & 2 deletions

File tree

account/just.html

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,70 @@
420420
}
421421
</style>
422422
<script type="module" defer>
423+
function convertBase(str, fromBase, toBase) {
424+
const DIGITS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/";
425+
const add = (x, y, base) => {
426+
let z = [];
427+
const n = Math.max(x.length, y.length);
428+
let carry = 0;
429+
let i = 0;
430+
while (i < n || carry) {
431+
const xi = i < x.length ? x[i] : 0;
432+
const yi = i < y.length ? y[i] : 0;
433+
const zi = carry + xi + yi;
434+
z.push(zi % base);
435+
carry = Math.floor(zi / base);
436+
i++;
437+
}
438+
return z;
439+
};
440+
const multiplyByNumber = (num, x, base) => {
441+
if (num < 0) return null;
442+
if (num == 0) return [];
443+
444+
let result = [];
445+
let power = x;
446+
while (true) {
447+
num & 1 && (result = add(result, power, base));
448+
num = num >> 1;
449+
if (num === 0) break;
450+
power = add(power, power, base);
451+
}
452+
453+
return result;
454+
};
455+
const parseToDigitsArray = (str, base) => {
456+
const digits = str.split('');
457+
let arr = [];
458+
for (let i = digits.length - 1; i >= 0; i--) {
459+
const n = DIGITS.indexOf(digits[i])
460+
if (n == -1) return null;
461+
arr.push(n);
462+
}
463+
return arr;
464+
};
465+
const digits = parseToDigitsArray(str, fromBase);
466+
if (digits === null) return null;
467+
let outArray = [];
468+
let power = [1];
469+
for (let i = 0; i < digits.length; i++) {
470+
digits[i] && (outArray = add(outArray, multiplyByNumber(digits[i], power, toBase), toBase));
471+
power = multiplyByNumber(fromBase, power, toBase);
472+
};
473+
let out = '';
474+
for (let i = outArray.length - 1; i >= 0; i--)
475+
out += DIGITS[outArray[i]];
476+
return out;
477+
}
478+
const encode = (str, key) => {
479+
str = reverseString(str);
480+
let encoded = '';
481+
for (let i = 0; i < str.length; i++) {
482+
const encodedCharCode = str.charCodeAt(i) ^ key.charCodeAt(i % key.length);
483+
encoded += encodedCharCode.toString().padStart(2, '0');
484+
};
485+
return encoded;
486+
};
423487
window.addEventListener('load', async function () {
424488
await Clerk.load();
425489
if (!Clerk || !Clerk.user || !Clerk.user.id) {
@@ -440,8 +504,8 @@
440504
const keye = document.getElementById('key');
441505
const uidc = document.getElementById('uidc');
442506
const keyc = document.getElementById('keyc');
443-
const uid = auth(cuid.replace('user_','').split('').reverse().join(''));
444-
const key = auth(ckey.replace('idn_', '').split('').reverse().join(''));
507+
const uid = convertBase(encode(auth(cuid.replace('user_','').split('').reverse().join('')),window.location.href),10,64);
508+
const key = convertBase(encode(auth(ckey.replace('idn_', '').split('').reverse().join('')),window.location.href),10,64);
445509
uide.innerHTML = uid;
446510
keye.innerHTML = key;
447511
uide.addEventListener("click", async () => {

0 commit comments

Comments
 (0)