Context
Split out of #32554 Inspired by #32457 (review)
Problem
HexStrBench uses the bytes from the embedded block fixture as a random source of bytes to measure HexStr performance against.
This coupling makes block benchmark migrations in #32554 slightly more work than necessary.
Fix
We can use deterministic pseudo-random bytes instead so this benchmark keeps stable input without fixture coupling.
Use MAX_BLOCK_WEIGHT so the benchmark stays in the same size range and keeps measured work above harness overhead.
This changes the benchmark baseline because input size moves from about 1 MB to 4 MB.