Файл: Защита папок и файлов от несанкционированного доступа.docx
Добавлен: 09.11.2023
Просмотров: 107
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
- декодирование сообщений электронной почты;
- «прозрачное» уплотнение исполнимых файлов .ЕХЕ и .DLL;
- создание самораспаковывающихся многотомных архивов;
- выбор или настройку коэффициента сжатия.
1.3 Программа архиватора и их цели.
Программы, осуществляющие упаковку и распаковку файлов, называются программами архиваторами.
Большие по объему архивные файлы могут быть размещены на нескольких дисках (томах). Такие архивы называются многотомными. Том - это составная часть многотомного архива. Создавая архив из нескольких частей, можно записать его части на несколько дискет.
В настоящее время применяется несколько десятков программ - архиваторов, которые отличаются перечнем функций и параметрами работы. Из числа наиболее популярных программ можно выделить:
WinZip, версия 8.0, пожалуй, самый известный архиватор. Это наиболее популярный архиватор, используемый в Интернете. Часто является бесплатным или входит еще в какую - нибудь программу в качестве бесплатного бонуса. Начиная с версии ME (Millenium Edition), WinZip входит даже в систему Windows. Кроме того, существует немало модификаций архиватора WinZip, таких как zip - magic, 7 - zip, g - zip и т.п., различных по эффективности сжатия.
WinRar - автор программы - Евгений Рошал. Однопользовательская система обойдется вам в 29$. Загрузить испытательскую (пробную) версию можно с сайта www.RaRlab.com. Главный конкурент WinZip на просторах Интернета. Обладая лучшими характеристиками, он постепенно теснит другие форматы, но с авторитетом WinZip пока сладить не может. Удобный (русифицированный) интерфейс и достаточно высокая скорость работы в сочетании с низкими системными требованиями обещают WinRar хорошее будущее.
WinAce 2.0 - свежая версия старого архиватора, пополнившаяся очень интересными функциями и новым алгоритмом сжатия. Этот архиватор использует самый большой размер словаря для архивирования (4 Мб), что во многом объясняет его высокие результаты.
Существуют архиваторы с узкой специализацией, которые могут работать только с одним форматом файлов, как, например, SfArk, который может сжимать только звуковые в формате SF2. Архиватор WavPack отлично «жмет» звуковые файлы в формате wav. Архиватор DJVU специализируется на сжатии сканированных изображений. Также есть целая плеяда универсальных архиваторов таких как, UFA, 777, ACB, IMP, LZOP, UHARC, BOA, Arhangel.
Различных архиваторов существует немало. Эффективность того или иного архиватора зависит от нескольких факторов:
1. Содержимого сжимаемого файла (текстовый, графический, звуковой).
2. От того, какая программа выбрана в качестве архиватора.
3. От настроек программы - архиватора.
Архивация используется как средство для уменьшения размера файла - в архиве файла, как правило, занимает меньше места, чем в обычном состоянии, и применяется в основном для следующих целей:
-
Высвобождения места на жестком диске компьютера. -
Сокращения объема файлов, пересылаемых по электронной почте. -
Размещение данных, едином носители. -
Размещение 1 объемного файла на нескольких носителях, когда он не -
помещается на 1 носитель. -
Распаковка сжатых файлов.
1.4 Актуальность архиватора на сегодняшний день.
На сегодняшний день имеется много типов архиваторов таких как WinRar, WinZip и т. д., которые работают в среде Windows, имеют больше функций и лучший интерфейс чем их предшественники-DOS, у них выше степень защиты данных.
В настоящее время растет популярность формата RAR и соответствующих программ. Но, хотя технология RAR обеспечивает высокую степень сжатия, стандартом она так и не стала, отчасти из-за не очень гибкого механизма работы с большими архивами.
Рассмотренные программы по большей части ориентированы на работу с архивами в формате ARJ или ZIP, но, как правило, содержат встроенные средства (или допускают подключение внешних модулей) для распаковки и просмотра и архивов других типов.
Все программы обладают удобными инсталляторами и стандартными средствами деинсталляции. Как правило, архиваторы могут выборочно регистрироваться в качестве средства для обработки распознаваемых ими типов файлов.
Лучшие из рассмотренных программ относятся к категории условно-бесплатных, некоммерческие разработки уступают им в разнообразии функций, совместимости и удобстве (хотя и не в эффективности сжатия). Лидером обзора являются Zip-ориентированные утилиты ZipMagic фирмы Mijenix, Zip Explorer Pro компании Aeco Systems и уже упомянутая WinZip фирмы Nico Mak Computing. Все они обеспечивают совместимость с большим числом форматов, удобны в использовании.
Глава 2. Python.
2.1 О языках программирования.
Python — это высокоуровневый язык программирования общего назначения, который используется в том числе и для разработки веб-приложений. Язык ориентирован на повышение производительности разработчика и читаемости кода.
Правильное русское произношение названия языка программирования — Пайтон, но чаще используется искажённое — Питон.
Python поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. В языке присутствует динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Программный код на Python организовывается в функции и классы, которые могут объединяться в модули, а они в свою очередь могут быть объединены в пакеты. Python обычно используется как интерпретируемый, но может быть скомпилирован в байт-код Java и в MSIL (в рамках платфоры .NET).
Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python» («Дзен Питона» или «Дзен Пайтона»):
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
Плоское лучше, чем вложенное.
Разреженное лучше, чем плотное.
Читаемость имеет значение.
Особые случаи не настолько особые, чтобы нарушать правила.
При этом практичность важнее безупречности.
Ошибки никогда не должны замалчиваться.
Если не замалчиваются явно.
Встретив двусмысленность, отбрось искушение угадать.
Должен существовать один — и, желательно, только один — очевидный способ сделать это.
Хотя он поначалу может быть и не очевиден, если вы не голландец.
Сейчас лучше, чем никогда.
Хотя никогда зачастую лучше, чем прямо сейчас.
Если реализацию сложно объяснить — идея плоха.
Если реализацию легко объяснить — идея, возможно, хороша.
Пространства имён — отличная штука! Будем делать их побольше!
По производительности интерпретируемый Python похож на все остальные подобные языки, но возможность компиляции в байт-код позволяет добиться большей производительности.
По сравнению с Ruby и некоторыми другими языками, в Python отсутствует возможность модифицировать встроенные классы, такие, как int, str, float, list и другие.
В Python присутствует глобальная блокировка интерпретатора (GIL) — при своей работе основной интерпретатор постоянно использует большое количество потоко-небезопасных данных. В основном это словари, в которых хранятся атрибуты объектов, и обращения к внешнему коду, поэтому, во избежание разрушения этих данных при совместной модификации из разных потоков, перед началом исполнения нескольких инструкций (обычно ста) поток интерпретатора захватывает GIL, а по окончании освобождает.
Существует несколько реализаций языка — CPython (основная), Jython, PyS60, IronPython, Stackless, Python for .NET, PyPy, python-safethread, Unladen Swallow, tinypy.
Разработка на Python
Python — очень универсальный язык.
Он подходит и для веб-разработки, но с прикладной точки зрения обычно это не лучший выбор.
Ruby в веб-разработке обычно эффективнее и экономически выгоднее (с идентичным качеством результата).
Компилируемые языки (Go / Elixir / Java) — значительно эффективнее по производительности.
Разработка проекта на PHP будет заметно дешевле.
Но в сферах анализа данных и машинного обучения Python сейчас несомненно вне конкуренции.
2.2 История языка Python.
В конце восьмидесятых голландский программист Гвидо ван Россум работал в научно-исследовательском центре математики и информатики, в котором создавал язык программирования ABC. Гвидо вкладывал все силы в этот проект и многому научился в работе над ним.
В декабре 1989 года офис закрылся на рождественские каникулы, и Гвидо было нечем заняться. Тогда он просто ради развлечения написал интерпретатор для нового языка программирования. Свой несерьезный проект он назвал «Python» в честь любимого комедийного шоу «Летающий Цирк Монти Пайтона».
Уже в 1991 году вышел первый релиз Python версии 0.9.0. Новый язык вобрал в себя многие идеи из ABC, а также из других языков: например, система модулей взята из языка Modula-3.
Еще немного позже вышла версия 1.0. В ней появились элементы функционального программирования — функции map, filter, reduce. Их мы будем изучать в следующих курсах.
В версии 2.0 появились знаменитые списковые включения, позаимствованные из языков SETL и Haskell. Тогда же появился сборщик мусора — механизм автоматического управления памятью. В той же второй версии в нем появилась поддержка работы с циклическими структурами.
Мы не стали погружаться в эту тему в базовом курсе, но говорим о ней подробно в других курсах по Python.
Python постоянно развивается с самого начала и до сегодняшнего дня. Сейчас почти все используют следующую, третью версию.
Python изначально позиционировался как «язык для каждого», поэтому в нем сделан упор на читаемость кода и лаконичность синтаксиса. Эта философия делает язык более понятным и востребованным для новичков.
Первый релиз третьей версии Python вышел еще в 2008 году, но переход на него идет до сих пор.
Дело в том, что третья версия не полностью обратно совместима со второй. Чтобы перейти на третью версию, нельзя просто заменить интерпретатор — придется менять код. Разработчики идут на такой шаг, если проект все еще развивается.
Но есть программы, работа над которыми закончена: они находятся в состоянии «только поддержка» и называются legacy. Такие проекты часто не переходят на третью версию — обычно просто некому заниматься адаптацией.
Если программа становится legacy-проектом, никаких новых трудностей не возникнет. Сложнее ситуация с библиотеками. Некоторые важные библиотеки все еще написаны на второй версии. Обновлять их некому, а заменить — пока нечем.
Именно поэтому переход на третью версию Python растянулся так надолго.
Более того, с 2020 года вторая версия больше не поддерживается — в ней перестали устранять уязвимости и критические ошибки. Теперь устаревшие библиотеки могут нести в себе угрозу для всего проекта.
К счастью, большинство популярных и востребованных библиотек уже переведены на третью версию, а все современные рекомендовано писать на Python 3.7.x.
Python распространен не только в виде языка, на котором пишутся конечные проекты. Этот язык часто используется для автоматизации различных задач — например, на нем написан Ansible, ПО для системного администрирования. Поэтому Python часто уже установлен в операционных системах.
Особенно велика вероятность обнаружить его в операционных системах Linux. Кроме того, какая-то версия Linux будет установлена на сервер, с которым будет работать ваше web-приложение или многопользовательская игра.
Тут-то и кроется проблема: в ОС может быть установлен Python второй версии — такое до сих пор встречается. И заменить его будет нельзя, ведь замена может привести к выходу из строя всей ОС.
2.3 Язык Python. Цели и актуальность.
Главная цель, которую ставил перед собой автор — это упрощение процесса программирования. Чтобы писать код было проще, он должен стать более читабельным и понятным для человека. У Python открытый исходный код. Одно из преимуществ этого языка — возможность запускать программы на нём как на ОС Windows, так и на macOS и Linux.
Сейчас язык находится на пике своей популярности, и будет на нём ещё не менее пяти-десяти лет. Вот пять причин, почему питон всё ещё актуален.
Питон перечеркнул миф о сложности разработки. У языка понятный синтаксис, который базируется на английском языке. На питоне легко писать и его легко читать.
Большое количество справочной литературы. Вы не будете испытывать недостатка актуальной информации, потому что её много в открытом доступе — книги, сайты, форумы, видеоролики, платные и бесплатные курсы.