GOOGLE ADS

суббота, 30 апреля 2022 г.

Детерминированное хеширование в Python 3

Я использую хеширование строк для заполнения случайных состояний следующим образом:

context = "string"
seed = hash(context) % 4294967295 # This is necessary to keep the hash within allowed seed values
np.random.seed(seed)

К сожалению, (для моего использования) это недетерминировано между запусками в Python 3.3 и выше. Я знаю, что могу установить PYTHONHASHSEEDпеременную окружения в целочисленное значение, чтобы восстановить детерминизм, но я, вероятно, предпочел бы что-то, что кажется немного менее хакерским, и не будет полностью игнорировать дополнительную безопасность, добавляемую случайным хешированием. Предложения?


Решение проблемы

Используйте специально созданную хеш-функцию. zlib.adler32()отличный выбор; в качестве альтернативы, проверьте hashlibмодуль для получения дополнительных опций.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...