Нужно найти хеш строки без учёта регистра символов. я думаю, приводить всю строку к одному регистру, а потом искать хеш посимвольным сложением с циклическим сдвигом - не лучший вариант. может есть какие-то другие соображения по этому поводу?
в бегиннерс нада было) не учитывать просто соответствующий бит и всё, например если считываешь побайтово то делать & c 0xDF если двордом читаешь то с 0xDFDFDFDF
hash = СУММА ( (s - 'a') * d^i ) mod q, где d и q - некоторые параметры. q выбирается как можно большим "неровным" числом, но чтобы d*q не вызвало переполнения. d - небольшое число, большее количества символов в алфавите. например, d = 31, q = 33554393.