code: def _get_hash():
      '''
      Jenkins One-At-A-Time Hash Function
      More Info: http://en.wikipedia.org/wiki/Jenkins_hash_function#one-at-a-time
      '''
      # Using bitmask to emulate rollover behavior of C unsigned 32 bit int
      bitmask = 0xffffffff
      h = 0
  
      for i in bytearray(salt.utils.stringutils.to_bytes(__grains__['id'])):
          h = (h + i) & bitmask
          h = (h + (h << 10)) & bitmask
          h = (h ^ (h >> 6)) & bitmask
  
      h = (h + (h << 3)) & bitmask
      h = (h ^ (h >> 11)) & bitmask
      h = (h + (h << 15)) & bitmask
  
      return (h & (_HASH_SIZE - 1)) & bitmasf _get_hash():
      '''
      Jenkins One-At-A-Time Hash Function
      More Info: http://en.wikipedia.org/wiki/Jenkins_hash_function#one-at-a-time
      '''
      # Using bitmask to emulate rollover behavior of C unsigned 32 bit int
      bitmask = 0xffffffff
      h = 0
  
      for i in bytearray(salt.utils.stringutils.to_bytes(__grains__['id'])):
          h = (h + i) & bitmask
          h = (h + (h << 10)) & bitmask
          h = (h ^ (h >> 6)) & bitmask
  
      h = (h + (h << 3)) & bitmask
      h = (h ^ (h >> 11)) & bitmask
      h = (h + (h << 15)) & bitmask
  
      return (h & (_HASH_SIZE - 1)) & bitmask
docs: Jenkins One-At-A-Time Hash Function
      More Info: http://en.wikipedia.org/wiki/Jenkins_hash_function#one-at-a-time