https://raw.githubusercontent.com/kvz/p ... s/crc32.js
Here's my suggested implementation: encrypt the stream position, and then convert it using crc32. After every function call, increment the stream position by 1.
This could be used for procedural generation. To my knowledge, the mersenne twister (at least a proper implementation) cannot easily seek to a stream position, while this could.
I can't code, so I tried and couldn't do it.