title: How to code a URL shortener with encryption included?
body: <p>I read this post : <a href="https://stackoverflow.com/questions/742013/how-to-code-a-url-shortener?answertab=votes#tab-top">How to code a URL shortener?</a> that perfectly explains how to create a classical URL shortener
  (please read it to understand my question below).</p>
  
  <p>But I'd like to add 3 more requirements that match my specific needs, and I'm not sure how to deal with that:</p>
  
  <p><strong>1</strong> <em>(the most important)</em> -> I'd like that no one can guess an URL, just by watching other URLs.</p>
  
  <p>Indeed, curently (in the post I quoted): generated URLs are just following themselves, changing the last character. So, 
  if <code>F(2789) = "ajuka"</code>, then it's easy to know that <code>F(2790) = "ajukb"</code></p>
  
  <p>Of course, the function still MUST be bijective, and reversible (find the id from the url, and find the url from the id => hash functions does not work).</p>
  
  <p><strong>2</strong> -> I'd like to remove some characters that may be confusing (0/O/l/I) from the a-z/A-Z/0-9 list. This not seem really hard.</p>
  
  <p><strong>3</strong> -> I'd like to have a minimum amount of characters in the URL (let's say 5), which means my first url will be "aaaaa" (not "a").</p>
  
  <p>Thanks.</p>