Если HashSet использовался только для поиска в функции contains (), подобная оптимизация могла бы быть возможной. Это все равно будет опасно, потому что всегда могут происходить коллизии хешей. Я думаю, что вы ищете, это Фильтр Блума (обратите внимание, что Фильтр Блума не дает точных ответов, он просто исключает ложные негативы).
Хэш-набор - это коллекция, и у коллекции должна быть возможность извлечь сохраненные значения. Хеши необратимы, вы не можете вычислить исходную строку по ее хешу.