Где-то сто лет назад я такое видел. Без всяких заморочек с хешем, что для пользователя проблемно. Там был просто запороленный архив с результатом. Это намного проще.
Да тут 2^3 = 8 вариантов. Перебрать их все и делов.
Если уж прям хочется цикла, то использовать первые три бита двоично представление первых 8 цифр, которые дадут вам все варианты значений А, Б и С. Но если вы этого не понимаете, то зачем оно вам.
Нет, js заточен на получение данные через соединение с сервером. Так что вам придётся его ему предоставить, интернет или локальный ему без разницы. Напрямую читать файлы он не умеет.
Вы же явно не храните просто так его голый email, вы с чем-то ещё идентифицируете этот email, с какими-то другими данными, постами, личным кабинетом и т.д. И вот всё это вместе уже составляет ПД.