620 прочтений · 2 года назад
Защищенный ZIP-архив можно распаковать двумя паролями, объясняют эксперты
Запароленные ZIP-архивы часто используются для обмена конфиденциальными документами и даже для доставки вредоносных программ. Что удивительно: распаковать архив можно двумя паролями с одинаковым результатом. Как такое возможно — рассказывает специалист Positive Technologies. Арсений Шароглазов, эксперт в штате Positive Technologies, поделился результатами интересного эксперимента. Для начала он создал защищенный паролем ZIP-архив с именем “x.zip.”. В качестве пароля Шароглазов использовал часть...
Хэширование файлов в Python. Хэш — это функция, которая преобразует последовательность байтов переменной длины в последовательность фиксированной длины. Хеширование файлов может быть выгодным по многим причинам. Хэши можно использовать для проверки идентичности двух файлов или проверки того, что содержимое файла не было повреждено или изменено. Для правильного и эффективного вычисления хэш-значения файла (в Python 3): 1) Откройте файл в двоичном режиме (т.е. Добавьте 'b'в файловый режим), чтобы избежать проблем с кодировкой символов и окончанием строки. 2) Не считывайте полный файл в память, так как это пустая трата памяти. Вместо этого последовательно считывайте его блок за блоком и обновляйте хэш для каждого блока. 3) Исключите двойную буферизацию, т.е. Не используйте буферизованный IO, потому что мы уже используем оптимальный размер блока. 4) Используйте readinto(), чтобы избежать переполнения буфера. Пример хеширования строки: import hashlib hash_object = hashlib.md5(b'Hello World') print(hash_object.hexdigest()) Обратите внимание, что "b" предшествует литералу строки, происходит конвертация строки в байты, оттого, что функция хеширования принимает только последовательность байтов в качестве параметра. В предыдущей версии библиотеки принимался литерал строки. Не забудьте закодировать строку в последовательности байтов.