Всем привет.
нашел в интернете интересную вещь.
оказывается что есть метод шифрования данных путем конвертированием строки в некое число.
хотел узнать если функция в мултиплеере сработает, так как не нашел людей которые могли бы сказать если она обрабатывается движком, как она поведет себя в мултиплеере и есть ли утечки связанные с ней.
if(StringHash(GetEventPlayerChatString())==-952139146){
BJDebugMsg("текст")
}
хочу создать предмет для героя но при этом чтобы никто не знал для какого героя
известно что любой хэндл который создается надо очищать
native StringHash takes string s returns integer
Line:	2236
Location:	common.j
Constant?	no
Type:	native
Arguments:	string s
Returns:	integer
если есть статьи по этой нативки прошу скинуть

Принятый ответ

создает ли эта нативка утечки или чтото такое
Нет.
и в мултиплеере как она себя поведет не вызовет десинх или все нормально будет
Не вызовет.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
8
1 год назад
Отредактирован Poma
1
Выше всё правильно сказали, integer по определению не может вызывать утечек, также
Centyrion:
прочел тут
-Данная функция абсолютно не криптостойкая, она генерирует 32-битный ключ и её исходники есть в интернете
Поэтому ничего не стоит сделать брутфорсер и узнать, что за герой будет у тебя создаваться
Где-то на гитхабе видел готовый брутфорсер на java.
0
8
1 год назад
0
Выше всё правильно сказали, integer по определению не может вызывать утечек, также
Centyrion:
прочел тут
-Данная функция абсолютно не криптостойкая, она генерирует 32-битный ключ и её исходники есть в интернете
Поэтому ничего не стоит сделать брутфорсер и узнать, что за герой будет у тебя создаваться
Где-то на гитхабе видел готовый брутфорсер на java.
ну про взлом я пока не думаю )) да и врятли кто-то заморочиться внедрять читпаки и мемхаки, это больше делаю для проверки имени игрока и проверки если игрок который насолил кому-то зашел поиграть а тут бац не может играть потому что он в списке забаненых игроков.
1
29
1 год назад
1
Поэтому ничего не стоит сделать брутфорсер и узнать, что за герой будет у тебя создаваться
Каждый новый символ это степень, для равкода это 16^4 -1 = 0xffff = 65535, что не так уже и сложно и можно положить в базу и получать значение за O(1).
А вот для строк уже посложнее будет: кирилица 33, латиница 26, цифры 10, это 33+26+10 = 69.
Для тех же четырёх символов это уже 69^4 = 22667121, что уже повеселее.
Если ещё добавить регистр то получится 33*2 + 26*2 + 10 = 66 + 52 + 10 = 128.
Для четырёх символов это уже 128^4 = 268435456, что уже повеселее.
0
8
1 год назад
0
мне известно что каждый объект который создается занимает в памяти определенное кол-во байтов
Uint32 это четыре байта. Ну и строки остаются в памяти до конца игры.
Только чтоб это сказалось на производительности, это нужно специально постараться.
про типы данных тоже прочел, да и С++ тоже знаком с ним, небось скоро начну писать библиотеки
0
8
1 год назад
Отредактирован Poma
0
nazarpunk, всё верно, равкод обычно содержит ограниченный набор символов, и подобрать его можно за долю секунды, касательно строк, в большинстве случаев нет необходимости находить оригинальную строку, достаточно коллизии, подобрать которую тоже не займет много времени. Помню когда-то давно сам писал такой брутфорсер, на одноядерном 4 пне штук 20 хэш коллизий нашлись буквально за 5 минут.
0
29
1 год назад
Отредактирован nazarpunk
0
достаточно коллизии
Не говоря о всяких устойчивых алгоритмах, удачи подобрать коллизию к чему-то такому:
Concat( sha1(myString) , md5(myString) ); 
0
8
1 год назад
0
sha1(myString) , md5(myString)
Мы говорим про варкрафтовский хэш? При чём тут sha?
0
37
1 год назад
Отредактирован ScorpioT1000
0
достаточно коллизии
Не говоря о всяких устойчивых алгоритмах, удачи подобрать коллизию к чему-то такому:
Concat( sha1(myString) , md5(myString) ); 
Вскрыли сто лет назад

Щас bcrypt популярен
0
29
1 год назад
Отредактирован nazarpunk
0
Вскрыли сто лет назад
Правда?
5ee17fde7a8d22baa5e907895116003d
df676df72c2a4f1cdd637f8f0862dba30122eedb
Загруженные файлы
1
37
1 год назад
1
База не бесконечная, попробуй что-то популярнее
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.