Пишу простенький чат с регистрацией. Я реализовал это так что клиент одновременно будет и сервером. Т.е. на клиенте есть кнопка "Запустить сервер". Он запускает его, а потом регистрируется и авторизируется как обычный пользователь. Но я хочу чтобы еще были администраторы. Но кто их будет добавлять? Я придумал такой ход: на клиенте можно нажать секретную комбинацию клавиш, после чего выскакивает окошко со вводом пин-кода, который высылается на сервер и сравнивается там, после чего если пин-код верный пользователю выдаются привилегии администратора и одновременно супер-администратора. Т.е. администратора который может назначать других администраторов. Но флаг прав супер-администратора не заносятся в БД (в отличии от флага прав обычного администратора), а выдается только на один сеанс. Не знаю уж насколько такой алгоритм верный... (если есть идеи лучше буду рад выслушать) Вопрос в том как хранить этот супер-администраторский пин-код на сервере? Я пока что просто зашил его в программу константой. Хз тоже насколько это правильно... Плюс все пароли я передаю и сравниваю в виде MD5 хэшей.
Раз клиент является сервером, то каждый может узнать какой пин.
Оптимальный вариант:
При установки клиент-сервера задавать пин код. Шифровать можно как хочешь.
Вариант хуже:
Защифровать все жесткими алгоритмами, который допустим выполняется 10 секунд и пин посложнее.
Во первых пин тоже хранится в виде MD5 хэша, во вторых его еще надо найти в exe-шнике. В третьих что значит "При установки клиент-сервера задавать пин код."? Ну и наконец это: "Защифровать все жесткими алгоритмами, который допустим выполняется 10 секунд и пин посложнее." вообще не понятно. Что "все"? Когда зашифровать? Один раз при компиляции? Или при создании БД? Когда и что? Я уже вроде сказал что у меня везде используются хэши, ничего более криптостойкого не требуется.