title: hash collision and appending data
body: <p>Assume I have two strings (or byte arrays) A and B which both have the same hash (with hash I mean things like MD5 or SHA1). If I concatenate another string behind it, will A+C and B+C have the same hash H' as well? What happens to C+A and C+B?</p>
  
  <p>I tested it with <a href="https://stackoverflow.com/questions/933497/create-your-own-md5-collisions">MD5</a> and in all my tests, appending something to the end made the hash the same, but appending at the beginning did not.</p>
  
  <p>Is this always true (for all inputs)?</p>
  
  <p>Is this true for all (well-known) hash functions? If no, is there a (well-known) hash function, where A+C and B+C will not collide (and C+A and C+B do not either)?</p>
  
  <p>(besides from <code>MD5(x + reverse(x))</code> and other constructed stuff I mean)</p>