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