Python Forensics 简明教程

Python Forensics - Basic Forensic Application

要按照法医学准则创建应用程序,了解和遵循其命名约定和模式非常重要。

Naming Conventions

在 Python 法医学应用程序开发过程中,需要遵循的规则和约定在以下表格中予以说明。

Constants

Uppercase with underscore separation

HIGH_TEMPERATURE

Local variable name

使用波浪大写字母的小写形式(下划线为可选)

currentTemperature

Global variable name

使用波浪大写字母作为前缀的 gl 小写形式(下划线为可选)

gl_maximumRecordedTemperature

Functions name

使用波浪大写字母的大写形式(下划线可选),并采用主动语态

ConvertFarenheitToCentigrade(…​)

Object name

使用波浪大写字母作为前缀的 ob_ 小写形式

ob_myTempRecorder

Module

下划线后接波浪大写字母的小写形式

_tempRecorder

Class names

使用前缀 class_,然后使用波浪大写字母,并保持简洁

class_TempSystem

我们举个例子来了解命名约定在计算法医学中的重要性。假设我们有通常用于加密数据的哈希算法。单向哈希算法采用二进制数据流作为输入;它可以是密码、文件、二进制数据或任何数字数据。然后,哈希算法针对接收到的输入数据生成 message digest (md)。

实际上,不可能创建将生成给定消息摘要的新二进制输入。如果更改二进制输入数据中的一位,它也会生成一个唯一的消息,该消息与前一个不同。

Example

看看以下遵循上述约定的示例程序。

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

上述程序生成以下输出。

naming convention example

在此程序中,Python 脚本接受输入(你的全名),并且按照 md5 哈希算法转换它。它加密数据并保护信息,如果需要。根据法医指南,证据的名称或任何其它证据可以按照这个模式进行保护。