Python取证基本取证应用程序
要根据取证指南创建应用程序,了解并遵循其命名约定和模式非常重要。
命名约定
在 Python 取证应用开发过程中,需要遵循的规则和约定如下表所示。
常数 | 大写,下划线分隔 | HIGH_TEMPERATURE |
局部变量名 | 带有凹凸大写的小写字母(下划线是可选的) | 当前温度 |
全局变量名 | 带有颠簸大写的前缀 gl 小写(下划线是可选的) | gl_maximumRecordedTemperature |
函数名称 | 带有凹凸大写的大写字母(下划线可选),带有主动语态 | 将华氏转换为摄氏度(...) |
Object name | 带有颠簸大写的前缀 ob_ 小写 | ob_myTempRecorder |
Module | 下划线后跟带有凹凸大写的小写字母 | _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 散列算法对其进行转换。如果需要,它会加密数据并保护信息。根据取证指南,证据的名称或任何其他证据的名称都可以在这种模式下得到保护。