content: package com.alibaba.druid.test;
  
  import junit.framework.TestCase;
  
  /**
   * Created by wenshao on 28/07/2017.
   */
  public class FNVTest extends TestCase {
      public void test_fnv_32() throws Exception {
          System.out.println(" 0x811c9dc5 : " + 0x811c9dc5);
          long x = 0xcbf29ce484222325L;
          System.out.println(x);
          System.out.println(x << 2);
  
  // 14695981039346656037
      }
  
      public long fnv(String text) {
          long hash = 0x811c9dc5;
          for (int i = 0, len = text.length(); i < len; ++i) {
              char ch = text.charAt(i);
  
              hash ^= ch;
              hash *= 0x1000193;
          }
  
          return hash;
      }
  
      public long fnv_64(String text) {
          long hash = 0xcbf29ce484222325L;
          return fnv_64(hash, text);
      }
  
      public long fnv_64(long hash, String text) {
          for (int i = 0, len = text.length(); i < len; ++i) {
              char ch = text.charAt(i);
  
              hash *= 0x100000001b3L;
              hash ^= ch;
          }
  
          return hash;
      }
  }
  