Как захешировать пароль как в MA

rgba

Участник
Сообщения
132
Реакции
14
никакой, тебе переделывать придется, если ты хочешь делать, т.к. хочешь, потому что емнип оно по другому принципу там работает, а не так как ты хочешь
Окей... А как? И почему в MA так добавляются админы и всё норм, а тут нет?...
 

rgba

Участник
Сообщения
132
Реакции
14
В плагине.
1673784223543.png
 

Phenom

Джентльмен этиловый
Сообщения
187
Реакции
94
@rgba, я нашел ошибку.

Допустим, у нас есть пароль: qwerty123
В веб части пароль записывается следующим образом:
1) генерирует значение в sha1 - Sourcebansqwerty123 | получаем: 00a15ee42f55f8fa150299ef837a4343c40fa4cb
2) генерирует значение в sha1 - 00a15ee42f55f8fa150299ef837a4343c40fa4cb | получаем: 40ae380d85ca21de003e24a3a5b1fe7b5e3fab6d
Итоговый хешированный пароль: 40ae380d85ca21de003e24a3a5b1fe7b5e3fab6d

В плагине записывается следующим образом:
1) генерирует значение в sha1 - qwerty123 | получаем: 5cec175b165e3d5e62c9e13ce848ef6feac81bff
2) объединяет строку SourceBans, сгенерированный хеш и хеширует: SourceBans5cec175b165e3d5e62c9e13ce848ef6feac81bff | получаем: 179df1fc7d196c6b96cc8f1c027180a150642629
Итоговый хешированный пароль: 179df1fc7d196c6b96cc8f1c027180a150642629

Нужно перекомпилировать плагин Material Admin со следующим sql запросом:
materialadmin/database.sp:
g_dDatabase.Format(sQuery, sizeof(sQuery), "\
            INSERT INTO `%s_admins` (`user`, `authid`, `immunity`, `srv_flags`, `password`, `gid`, `email`, `extraflags`, `expired`) \
            VALUES ('%s', '%s', %d, '%s', SHA1(SHA1(CONCAT('SourceBans', '%s'))), 0, '', 0, %d);",
        g_sDatabasePrefix, g_sAddAdminInfo[iClient][ADDNAME], g_sAddAdminInfo[iClient][ADDSTEAM], g_iAddAdmin[iClient][ADDIMUN], sFlags,
        g_sAddAdminInfo[iClient][ADDPASS], g_iAddAdmin[iClient][ADDTIME]);
 
Последнее редактирование:
  • Мне нравится
Реакции: rgba

rgba

Участник
Сообщения
132
Реакции
14
@rgba, я нашел ошибку.

Допустим, у нас есть пароль: qwerty123
В веб части пароль записывается следующим образом:
1) генерирует значение в sha1 - Sourcebansqwerty123 | получаем: 00a15ee42f55f8fa150299ef837a4343c40fa4cb
2) генерирует значение в sha1 - 00a15ee42f55f8fa150299ef837a4343c40fa4cb | получаем: 40ae380d85ca21de003e24a3a5b1fe7b5e3fab6d
Итоговый хешированный пароль: 40ae380d85ca21de003e24a3a5b1fe7b5e3fab6d

В плагине делается следующим образом:
1) генерирует значение в sha1 - qwerty123 | получаем: 5cec175b165e3d5e62c9e13ce848ef6feac81bff
2) объединяет строку SourceBans, сгенерированный хеш и хеширует: SourceBans5cec175b165e3d5e62c9e13ce848ef6feac81bff | получаем: 179df1fc7d196c6b96cc8f1c027180a150642629
Итоговый хешированный пароль: 179df1fc7d196c6b96cc8f1c027180a150642629

Нужно перекомпилировать плагин Material Admin со следующим sql запросом:
materialadmin/database.sp:
g_dDatabase.Format(sQuery, sizeof(sQuery), "\
            INSERT INTO `%s_admins` (`user`, `authid`, `immunity`, `srv_flags`, `password`, `gid`, `email`, `extraflags`, `expired`) \
            VALUES ('%s', '%s', %d, '%s', SHA1(SHA1(CONCAT('SourceBans', '%s'))), 0, '', 0, %d);",
        g_sDatabasePrefix, g_sAddAdminInfo[iClient][ADDNAME], g_sAddAdminInfo[iClient][ADDSTEAM], g_iAddAdmin[iClient][ADDIMUN], sFlags,
        g_sAddAdminInfo[iClient][ADDPASS], g_iAddAdmin[iClient][ADDTIME]);
Это прекрасная новость. Но перекомпилировал ma, перезапустил сервер и все равно на сайт зайти не могу...
 

Phenom

Джентльмен этиловый
Сообщения
187
Реакции
94
Да, я заново купил админку через лк. Она выдалась, но на сайт не могу зайти( Неверный пароль(
C++:
int rond = GetURandomInt();
char sRand[128];
IntToString(rond, sRand, sizeof(sRand));
PrintToChat(iClient, "%s", sRand);
FormatEx(szQuery, sizeof(szQuery), "INSERT INTO `%s_admins` (`user`, `authid`, `password`, `gid`, `srv_group`, `expired`, `email`) VALUES ('%s', '%s', SHA1(SHA1(CONCAT('SourceBans', '%s'))), '%i', '%s', '%i', '1@1.ru')", g_sDBPrefix, szName, szAuth, sRand, g_Item[index].gid, g_Item[index].srv_group, iTime);
g_hDatabase.Query(SQL_Callback_InsertPlayer, szQuery, GetClientUserId(iClient));
 
  • Мне нравится
Реакции: rgba

google>

oldgamers
Сообщения
373
Реакции
210
Что-то похоже на то что, слепой ведет глухого.
зачем вы переделывали MA? 🤭
 

rgba

Участник
Сообщения
132
Реакции
14
C++:
int rond = GetURandomInt();
char sRand[128];
IntToString(rond, sRand, sizeof(sRand));
PrintToChat(iClient, "%s", sRand);
FormatEx(szQuery, sizeof(szQuery), "INSERT INTO `%s_admins` (`user`, `authid`, `password`, `gid`, `srv_group`, `expired`, `email`) VALUES ('%s', '%s', SHA1(SHA1(CONCAT('SourceBans', '%s'))), '%i', '%s', '%i', '1@1.ru')", g_sDBPrefix, szName, szAuth, sRand, g_Item[index].gid, g_Item[index].srv_group, iTime);
g_hDatabase.Query(SQL_Callback_InsertPlayer, szQuery, GetClientUserId(iClient));
Огромное спасибо. Всё заработало!!!!!
Сообщения автоматически склеены:

Что-то похоже на то что, слепой ведет глухого.
зачем вы переделывали MA? 🤭
Потому что не такие умные, как ты
 

Phenom

Джентльмен этиловый
Сообщения
187
Реакции
94
зачем вы переделывали MA? 🤭
Если внимательно посмотреть и вникнуть в мое сообщение под номером #49, то можно понять, что веб-часть и плагин генерируют разные хеш.

 
  • Мне нравится
Реакции: rgba

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #57
Не есть хорошо хранить пароли пользователей в открытом виде
Это особенности работы колонки srv_password. Этот пароль требует сам СМ отдавать "как есть", без хэширования.

В Materials Admin такое же хеширование?
Зависит от версии МА.
 
Сверху Снизу