(function () { const sessionKeyId = 'session_uid'; const sessionKeyHash = 'device_hash'; function generateUID() { return 'uid-' + Date.now().toString(36) + '-' + Math.random().toString(36).slice(2); } async function hashData(data) { const encoder = new TextEncoder(); const buffer = encoder.encode(data); const digest = await crypto.subtle.digest('SHA-256', buffer); return Array.from(new Uint8Array(digest)).map(b => b.toString(16).padStart(2, '0')).join(''); } const deviceInfo = { screenWidth: window.screen.width, screenHeight: window.screen.height, userAgent: navigator.userAgent }; const rawData = `${deviceInfo.screenWidth}x${deviceInfo.screenHeight}|${deviceInfo.userAgent}`; if (!sessionStorage.getItem(sessionKeyId)) { sessionStorage.setItem(sessionKeyId, generateUID()); } hashData(rawData).then(hash => { sessionStorage.setItem(sessionKeyHash, hash); }); })();