slHash function
Stable 16-hex hash (two 32-bit FNV-1a accumulators kept positive).
Implementation
String slHash(List<String> parts) {
final src = parts.join('\u0000');
var h1 = 0x811c9dc5;
var h2 = 0x01000193;
for (final byte in utf8.encode(src)) {
h1 = ((h1 ^ byte) * 0x01000193) & 0x7FFFFFFF;
h2 = ((h2 ^ (byte + 7)) * 0x85ebca6b) & 0x7FFFFFFF;
}
final hex1 = h1.toRadixString(16).padLeft(8, '0');
final hex2 = h2.toRadixString(16).padLeft(8, '0');
return (hex1 + hex2).substring(0, 16);
}