jweinst1
11/25/2015 - 10:23 AM

hash_func.py

hash_func.py

#hash function for integers

def int_hash(num):
	alpha = [str(elem) for elem in range(10)]
	numbers = ['a', 'b', 'c', 'e']
	num += num * 13
	hashed = ''
	while len(hashed) < 8:
		if hashed == '':
			if num % 2 == 0:
				hashed += numbers[1]
			elif num % 5 == 0:
				hashed += numbers[2]
			elif num % 3 == 0:
				hashed += numbers[3]
			else:
				hashed += alpha[0]
		else:
			if hashed[len(hashed)-1] == 'a':
				if num % 2 == 0:
					hashed += alpha[2]
				else:
					hashed += 'y'
			elif hashed[len(hashed)-1] == 'c':
				if len(hashed) % 2 == 0:
					hashed += alpha[0]
				else:
					hashed += numbers[3]
			elif hashed[len(hashed)-1] == '1':
				if num % 2 == 0:
					hashed += alpha[1]
				else:
					hashed += numbers[0]
			else:
				if hashed[len(hashed)-1] == '2':
					hashed += 'e'
				elif hashed[len(hashed)-1] == 'e':
					hashed += alpha[3]
				else:
					hashed += alpha[len(hashed)]
					num *= 13
				
	return hashed