>>> import hashlib
>>> h = hashlib.md5('my_cool_filename').hexdigest() # получили 16-разрядную строку
>>> h # вот она какая
'13061a556715c93e5543f20b7001c669'
>>> int(h,16) # перевели ее в лонг
25287019810011413006158894310673729129L
>>> int(h,16) % 5 # нашли остаток от деления
4L
>>>
Основным требованием к хэш-функциям является равномерность распределения их значений при случайном выборе значений аргумента.по идее...