String toHex(Iterable<int> bytes) { return bytes.map((b) => (b + 256).toRadixString(16).substring(1)).join(); }