Учебники

Python Forensics — Основное судебное приложение

Для создания приложения в соответствии с правилами судебной экспертизы важно понимать и следовать его соглашениям и шаблонам именования.

Соглашения об именах

При разработке приложений для экспертизы Python правила и соглашения, которые необходимо соблюдать, описаны в следующей таблице.

Константы Прописные буквы с подчеркиванием ВЫСОКАЯ ТЕМПЕРАТУРА
Имя локальной переменной Строчные буквы с неровными колпачками (подчеркивание не обязательно) currentTemperature
Имя глобальной переменной Префикс gl в нижнем регистре с ухабистыми заглавными буквами (подчеркивание не обязательно) gl_maximumRecordedTemperature
Название функции Верхний регистр с ухабистыми заглавными буквами (подчеркивание необязательно) с активным голосом ConvertFarenheitToCentigrade (…)
Имя объекта Приставка ob_ строчная с ухабистыми заглавными буквами ob_myTempRecorder
модуль Подчеркивание, за которым следует строчная буква с неровными колпачками _tempRecorder
Имена классов Префикс class_, затем неровные заглавные буквы и краткий class_TempSystem

Давайте рассмотрим сценарий, чтобы понять важность соглашений об именах в вычислительной экспертизе. Предположим, у нас есть алгоритм хеширования, который обычно используется для шифрования данных. Алгоритм одностороннего хеширования принимает входные данные в виде потока двоичных данных; это может быть пароль, файл, двоичные данные или любые цифровые данные. Затем алгоритм хеширования создает дайджест сообщения (md) в отношении данных, полученных на входе.

Практически невозможно создать новый двоичный вход, который будет генерировать данный дайджест сообщения. Даже один бит двоичных входных данных, если он будет изменен, будет генерировать уникальное сообщение, которое отличается от предыдущего.

пример

Взгляните на следующий пример программы, которая следует вышеупомянутым соглашениям.

import sys, string, md5   # necessary libraries
print "Please enter your full name"
line = sys.stdin.readline()
line = line.rstrip()
md5_object = md5.new()
md5_object.update(line)
print md5_object.hexdigest()   # Prints the output as per the hashing algorithm i.e. md5
exit

Вышеуказанная программа производит следующий вывод.

Пример соглашения об именах

В этой программе скрипт Python принимает входные данные (ваше полное имя) и преобразует их в соответствии с алгоритмом хеширования md5. Он шифрует данные и защищает информацию, если требуется. В соответствии с правилами судебно-медицинской экспертизы, в этом шаблоне может быть обеспечено название доказательств или любых других доказательств.