命名约定
在 Python 取证应用开发过程中,需要遵循的规则和约定如下表所示。
常数 |
大写,下划线分隔 |
HIGH_TEMPERATURE |
局部变量名 |
带有凹凸大写的小写字母(下划线是可选的) |
currentTemperature |
全局变量名 |
带有颠簸大写的前缀 gl 小写(下划线是可选的) |
gl_maximumRecordedTemperature |
函数名称 |
带有凹凸大写的大写字母(下划线可选),带有主动语态 |
ConvertFarenheitToCentigrade(...) |
对象名称 |
带有颠簸大写的前缀 ob_ 小写 |
ob_myTempRecorder |
模块 |
下划线后跟带有凹凸大写的小写字母 |
_tempRecorder |
类名 |
前缀 class_ 然后颠簸大写并保持简短 |
class_TempSystem |
让我们通过一个场景来了解计算取证中命名约定的重要性。假设我们有一个通常用于加密数据的哈希算法。单向哈希算法将输入作为二进制数据流;这可以是密码、文件、二进制数据或任何数字数据。然后哈希算法产生一个message digest(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 哈希算法对其进行转换。如果需要,它会加密数据并保护信息。根据取证指南,证据的名称或任何其他证据的名称都可以在这种模式下得到保护。