export function crc32(str) { var crcTable = []; for (var i = 0; i < 256; i++) { var crc = i; for (var j = 8; j > 0; j--) { if (crc & 1) { crc = (crc >>> 1) ^ 0xEDB88320; } else { crc = crc >>> 1; } } crcTable[i] = crc; } var crc32val = 0xFFFFFFFF; for (var i = 0; i < str.length; i++) { var charCode = str.charCodeAt(i); crc32val = (crc32val >>> 8) ^ crcTable[(crc32val ^ charCode) & 0xFF]; } return (crc32val ^ 0xFFFFFFFF) >>> 0; } export function randomCrc32String(length = 8) { var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var randomStr = ''; for (var i = 0; i < length; i++) { randomStr += characters.charAt(Math.floor(Math.random() * characters.length)); } return crc32(randomStr).toString(16); // Convert to hexadecimal string } console.log(randomCrc32String()); // Example usage