An efficient solution to use when it is undesirable to expose internal database ids, IdShuffler converts integers like 123 into strings like 'q34nr1', and vice-versa, using a very lightweight integer scrambling algorithm plus 'Crockford 32' encoding. It is built as a native C extension and so is very fast. The algorithm takes a string key as a seed, so you can use different keys for different id spaces and thus obtain different slugs for the same initial integer. This is not a security solution and I am not a cryptographer; it should be assumed a determined individual can unshuffle the ids without knowing the key used to generate them. Also note these are 30-bit ids, so the library can only represent values up to approximately 1 billion (1,073,741,823). This gem is still under development in so far as I have not written tests or documentation for it.

installgem install id_shuffler

Josh Whiting

4,353 total downloads 593 for this version




gem 'id_shuffler', '~> 0.0.8'
  1. 0.0.8 June 12, 2013 (9.5 KB)
  2. 0.0.6 March 20, 2013 (7 KB)
  3. 0.0.5 March 20, 2013 (7 KB)
  4. 0.0.4 March 20, 2013 (7 KB)
  5. 0.0.3 March 20, 2013 (6.5 KB)
Show all versions (8 total)