REVIEW: use a Cipher instance per invocation (threadsafe)

Original impl used a shared instance, modifying its state on each invocation.

NOTE: In my local testing, this reduces throughput of the EncryptedRecordIdObfuscator, increasing the average amount of time per iteration by 70%.