title: Simple algorithm for mixing/obfuscating a string with pre-defined chars
body: <p>I have a string as follows:  </p>
  
  <ul>
  <li>Its length is 10.  </li>
  <li>It represents base 36 and as such includes digits and uppercase letters.  </li>
  <li>The origin of the string is a sequence being generated by the database, (i.e. from 1 and up), that is being converted to base 36.  </li>
  </ul>
  
  <p>My problem is that the results of the conversion to base 36 conversion are also consecutive/sequential; for example:</p>
  
  <blockquote>
  <pre><code>    ID: 1402 -&gt; 000000012Y    
      ID: 1403 -&gt; 000000012Z    
      ID: 1404 -&gt; 0000000130   
      ID: 1404 -&gt; 0000000131  
      ID: 1404 -&gt; 0000000132
  </code></pre>
  </blockquote>
  
  <p>I'm looking for a short simple algorithm that can mix the base 36 result where:  </p>
  
  <ul>
  <li>I can use only the allowed base 36 chars, (digits and uppercase letters).  </li>
  <li>The algorithm is just for obfuscating/mixing the base 36 string; I don't need encryption etc.  </li>
  <li>The main issue here is that the result won't be consecutive.  </li>
  <li>I need to have the ability to deobfuscate/demix the obfuscation result.  </li>
  </ul>
  
  <p>I tried it with some shifting chars logic but I'm stuck in the consecutive result issue.<br>
  I guess I need to add some mathematical aspect here.  </p>
  
  <p>I would appreciate any ideas as simple as possible and if possible then with code example.</p>