Mantén los int64 ids de la ficha como dígitos, no como números

Fixkamo-register
Shipped
19 de agosto de 2026 a las 2:19 UTC
Author
Kamo
Commit
f760aef

KToken no pudo verificar una ficha real. Los cuatro ids que lleva son int64s, y el Java Signer (kamo-shared-library KToken-canonicalForMac) se adjunta a cada uno como un crudo "long", así que todos 19 dígitos entran en el material MAC. Esta clase los leía con Números, que ronda más allá 2o53, y cada setter luego aplicó el truncamiento de 32 bits en la parte superior del redondo. 1168485648209608710 salió como un pequeño número entero, el HMAC no coincida con el uno el servidor firmó, y parAndVerifyCookie devolvió nulo: un token válido leído como forjado. Sólo estuvo de acuerdo consigo mismo, en ids lo suficientemente pequeños como para representar. Los ids son ahora las propias cuerdas de dígitos de la galleta, por lo que el material coincide con el byte del firmante para el byte, y son validados por la forma en lugar de por Números, lo que derrotaría a la punto. La caducidad se mantiene un número - los segundos de época son de 1.8e9 y no corren peligro. Nada llama a parAndVerifyCookie hoy; la cookie se envía a los servicios Literalmente. Así que esto fija una mina terrestre en lugar de un corte, pero es una mina de tierra en un Ruta de auth, donde el fallo se vería como un login rechazado en lugar de un bicho redondeado. El mismo cambio que el kamo-internal f55a95c9, donde lleva pruebas probadas por mutación: 4 de las 6 fracasar en la aplicación anterior. Este repo no tiene corredor de pruebas.

All changes

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios