From 62bf33c9d1410cbe05cf311f5e3cb22f9756c301 Mon Sep 17 00:00:00 2001 From: Janez T Date: Sat, 14 Mar 2026 21:34:57 +0100 Subject: [PATCH] fix: Replace web unsafe hash ref: --- lib/screens/live_traffic_screen.dart | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/screens/live_traffic_screen.dart b/lib/screens/live_traffic_screen.dart index 6120f70..fd1ab78 100644 --- a/lib/screens/live_traffic_screen.dart +++ b/lib/screens/live_traffic_screen.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'package:crypto/crypto.dart'; import 'package:flutter/material.dart'; import 'package:geolocator/geolocator.dart'; import 'package:provider/provider.dart'; @@ -1006,15 +1007,12 @@ class _LiveTrafficPacketDetails { } static String _packetHash(List bytes) { - const fnvOffset = 0xcbf29ce484222325; - const fnvPrime = 0x100000001b3; - const mask = 0xFFFFFFFFFFFFFFFF; - var hash = fnvOffset; - for (final byte in bytes) { - hash ^= byte & 0xFF; - hash = (hash * fnvPrime) & mask; - } - return hash.toRadixString(16).padLeft(16, '0').toUpperCase(); + final digest = md5.convert(bytes).bytes; + return digest + .take(8) + .map((byte) => byte.toRadixString(16).padLeft(2, '0')) + .join() + .toUpperCase(); } }