示例#1
0
int bloom_check(BLOOM *bloom,char *s){

	unsigned int k = 0;
	unsigned int b = 0;
	unsigned int len = strlen(s);
	for(k=0;k<11;k++) {
		switch(k) {
			case 0: b=RSHash(s,len);
			 		break;
			case 1: b=JSHash(s,len);
					break;
			case 2: b=PJWHash(s,len);
					break;
			case 3: b=ELFHash(s,len);
					break;
			case 4: b=BKDRHash(s,len);
					break;
			case 5: b=SDBMHash(s,len);
					break;
			case 6: b=DJBHash(s,len);
					break;
			case 7: b=DEKHash(s,len);
					break;
			case 8: b=BPHash(s,len);
					break;
			case 9: b=FNVHash(s,len);
					break;
			case 10: b=APHash(s,len);
					break;
		}
		if(!GETBIT(bloom->a,b%bloom->size))
			return 0;
	}
	return 1;
}
示例#2
0
int main(int argc, char* argv[])
{
   char* key = "abcdefghijklmnopqrstuvwxyz1234567890";

   printf("General Purpose Hash Function Algorithms Test\n");
   printf("By Arash Partow - 2002          \n"                 );
   printf("Key:                          %s\n",key             );
   printf(" 1. RS-Hash Function Value:   %u\n",RSHash  (key,36));
   printf(" 2. JS-Hash Function Value:   %u\n",JSHash  (key,36));
   printf(" 3. PJW-Hash Function Value:  %u\n",PJWHash (key,36));
   printf(" 4. ELF-Hash Function Value:  %u\n",ELFHash (key,36));
   printf(" 5. BKDR-Hash Function Value: %u\n",BKDRHash(key,36));
   printf(" 6. SDBM-Hash Function Value: %u\n",SDBMHash(key,36));
   printf(" 7. DJB-Hash Function Value:  %u\n",DJBHash (key,36));
   printf(" 8. DEK-Hash Function Value:  %u\n",DEKHash (key,36));
   printf(" 9. BP-Hash Function Value:   %u\n",BPHash  (key,36));
   printf("10. FNV-Hash Function Value:  %u\n",FNVHash (key,36));
   printf("11. AP-Hash Function Value:   %u\n",APHash  (key,36));

   return 1;
}
示例#3
0
BEGIN_NAMESPACE_XEVOL3D

void  xHashCodeTable::string_hash(const wchar_t* str, HashValue& hashValue)
{
    std::wstring _key = str;
    for(size_t i = 0 ; i < _key.length() ;  i ++)
        if(_key[i] == '\\') _key[i] = '/';

    const wchar_t *key     =  _key.c_str();
	unsigned long seed1_i  = 0x7FED7FED, seed2_i = 0xEEEEEEEE;
	unsigned long seed1_va = 0x7FED7FED, seed2_va = 0xEEEEEEEE;
	unsigned long seed1_vb = 0x7FED7FED, seed2_vb = 0xEEEEEEEE;

	hashValue.indexHash = ELFHash(key);
	hashValue.valueA    = RSHash(key);
	hashValue.valueB    = JSHash(key);
	return ;
	/*
	int ch;
	while(*key != 0)
	{ 
		ch = *key;
		if(ch < 255) ch = toupper(*key);
		key++;

		seed1_i = m_CodeTable[HASH_INDEX][ch] ^ (seed1_i + seed2_i);
		seed2_i = ch + seed1_i + seed2_i + (seed2_i << 5) + 3; 

		seed1_va = m_CodeTable[HASH_VALUE_1][ch] ^ (seed1_va + seed2_va);
		seed2_va = ch + seed1_va + seed2_va + (seed2_va << 5) + 3; 


		seed1_vb = m_CodeTable[HASH_VALUE_2][ch] ^ (seed1_vb + seed2_vb);
		seed2_vb = ch + seed1_vb + seed2_vb + (seed2_vb << 5) + 3; 
	}
	hashValue.indexHash = seed1_i;
	hashValue.valueA    = seed1_va;
	hashValue.valueB    = seed1_vb;
	*/
}
unsigned int JSHash(char *str , unsigned int len ) 
{ 
  unsigned int hash ;
  unsigned int i ;
  int randomVars_BogusReturn133 ;

  {
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }

  if (_1_main__opaque_list2_1 != (struct _1_main__opaque_Node_1 *)0UL) {

  } else {
    hash = JSHash(0, i);
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }

  if (_1_main__opaque_list1_1 == _1_main__opaque_list2_1) {
    if (_1_main__opaque_list1_1 != (struct _1_main__opaque_Node_1 *)0UL) {
      if (_1_main__opaque_list1_1 != (struct _1_main__opaque_Node_1 *)0UL) {
        if (_1_main__opaque_list2_1 == (struct _1_main__opaque_Node_1 *)0UL) {

        } else {
          {  /* __blockattribute__(__ATOMIC__)*/ 
          _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
          _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
          }

        }
      } else
      if ((_1_main__opaque_list2_1 == (struct _1_main__opaque_Node_1 *)0UL) < randomVars_BogusReturn133) {
        {  /* __blockattribute__(__ATOMIC__)*/ 
        _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next - 1;
        _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next - 1;
        }

      } else {

      }
    } else {
      __asm__  volatile   (".byte 0x82,0xc9,0x42":);
    }
  } else {
    __asm__  volatile   (".byte 0x47,0xec,0xc9,0x9a,0x3b":);
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  hash = 1315423911U;
  i = 0U;
  i = 0U;
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }

  if (_1_main__opaque_list1_1 != _1_main__opaque_list2_1) {
    len = JSHash(0, len);
  } else {

  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }
  {  /* __blockattribute__(__ATOMIC__)*/ 
  _1_main__opaque_list1_1 = _1_main__opaque_list1_1->next;
  _1_main__opaque_list2_1 = _1_main__opaque_list2_1->next;
  }

  if (_1_main__opaque_list1_1 == _1_main__opaque_list2_1) {
    if (_1_main__opaque_list1_1 != _1_main__opaque_list2_1) {
      if (_1_main__opaque_list1_1 != (struct _1_main__opaque_Node_1 *)0UL) {
        if (_1_main__opaque_list2_1 != (struct _1_main__opaque_Node_1 *)0UL) {
          __asm__  volatile   (".byte 0xff,0xff,0xff,0xeb,0x11,0x48":);
        } else {
          __asm__  volatile   (".byte 0xff,0xff,0xff,0xeb,0x11,0x48":);
        }
      } else {

      }
    } else {
      {  /* __blockattribute__(__ATOMIC__)*/