From 8291b1f09991dea08f28f64fac9b6c3205d0c254 Mon Sep 17 00:00:00 2001 From: lifeadventurer Date: Sun, 12 Nov 2023 17:41:37 +0800 Subject: [PATCH] fix: hash cause unbalance fortune status --- fortune_generator/fortune.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fortune_generator/fortune.js b/fortune_generator/fortune.js index 0be1e1b..e1593b6 100644 --- a/fortune_generator/fortune.js +++ b/fortune_generator/fortune.js @@ -58,10 +58,11 @@ function Appear() { const badLen = badFortunes.length; const statusLen = fortuneStatus.length; - let hashDate = Math.round(Math.log10(year * ((month << 3) ^ (date << 1)))); + let hashDate = Math.round(Math.log10(year * ((month << (Math.log10(num[3]) + 1)) * (date << Math.log10(num[2]))))); let seed1 = (num[0] >> hashDate) * (num[1] >> Math.min(hashDate, 2)) + (num[2] << 1) * (num[3] >> 3) + (date << 3) * (month << hashDate) + year; let seed2 = (num[0] << (hashDate + 2)) * (num[1] << hashDate) + (num[2] << 1) * (num[3] << 3) + (date << (hashDate - 1)) * (month << 4) + year >> hashDate; - + console.log(hashDate, seed1, seed2); + let status = `§ ${fortuneStatus[seed1 % statusLen]} §`; $('#ip-to-fortune').html(status);