Files
siliconid/siliconid.js
2025-04-02 19:19:22 +05:30

21 lines
660 B
JavaScript

const base62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
function toBase62(num) {
let result = "";
while (num > 0) {
result = base62[num % 62] + result;
num = Math.floor(num / 62);
}
return result;
}
function generateID() {
const epochStart = new Date("2020-01-01").getTime();
const now = Date.now() - epochStart;
const random = Math.floor(Math.random() * 1000); // 3-digit random number
const id = now * 1000 + random; // Combine timestamp + randomness
return toBase62(id).padStart(8, "0").slice(0, 8); // Ensure 8 chars
}
console.log(generateID()); // Example output: "7zD2LmX1"