title: Generating long unique id with Murmur3 from google guava
body: <p>at the moment i am trying to generate unique identifiers of type long on the client side. 
  I have a parent/child relationship where the parent already has a UUID as identifier.
  I want to consider the Parent-UUID for calculating a Child-Id of type long.</p>
  
  <p>I have this implementation at the moment:</p>
  
  <pre><code>public static void main(String[] args) {
  
      /** Funnel. */
      final Funnel&lt;UUID&gt; UUID_FUNNEL = new Funnel&lt;UUID&gt;() {
          @Override
          public void funnel(UUID parentUUID, PrimitiveSink into) {
              final UUID tmpId = UUID.randomUUID();
              into
               // consider parent uuid
              .putLong(parentUUID.getMostSignificantBits())
              .putLong(parentUUID.getLeastSignificantBits())
               // consider tmp uuid
              .putLong(tmpId.getMostSignificantBits())
              .putLong(tmpId.getLeastSignificantBits());
          }
      };
  
      final UUID parentUUID = UUID.randomUUID();
      System.out.println(parentUUID.toString());
  
      for (int i = 0; i &lt; 1000; i++) {
          final long childId = Hashing.murmur3_128().newHasher()
                                  .putObject(parentUUID, UUID_FUNNEL)
                                  .hash().asLong();
          System.out.println(childId);
      }
  }
  </code></pre>
  
  <p>What do you think about this idea?
  Any suggestions are welcome.</p>
  
  <p>I have already read this Question:
  <a href="https://stackoverflow.com/questions/15184820/how-to-generate-unique-long-using-uuid">How to generate unique Long using UUID</a></p>