Python Forensics - Basic Forensic Application
Aby utworzyć aplikację zgodnie z wytycznymi kryminalistycznymi, ważne jest zrozumienie i przestrzeganie konwencji i wzorców nazewnictwa.
Konwencje nazewnictwa
Podczas opracowywania aplikacji śledczych w Pythonie zasady i konwencje, których należy przestrzegać, opisano w poniższej tabeli.
Stałe | Wielkie litery z separacją podkreślenia | WYSOKA TEMPERATURA |
Nazwa zmiennej lokalnej | Małe litery z wyboistymi literami (podkreślenia są opcjonalne) | obecna temperatura |
Nazwa zmiennej globalnej | Prefiks gl małe litery z wyboistymi literami (podkreślenia są opcjonalne) | gl_maximumRecordedTemperature |
Nazwa funkcji | Wielkie litery z wyboistymi literami (opcjonalnie podkreślenia) z aktywnym głosem | ConvertFarenheitToCentigrade (...) |
Nazwa obiektu | Przedrostek ob_ małe litery z wyboistymi literami | ob_myTempRecorder |
Moduł | Podkreślenie, a po nim małe litery z wyboistymi literami | _tempRecorder |
Nazwy klas | Przedrostek class_, a następnie wyboiste czapki i pisz krótko | class_TempSystem |
Weźmy scenariusz, aby zrozumieć znaczenie konwencji nazewnictwa w informatyce obliczeniowej. Załóżmy, że mamy algorytm haszujący, który jest zwykle używany do szyfrowania danych. Algorytm jednokierunkowego mieszania przyjmuje dane wejściowe jako strumień danych binarnych; może to być hasło, plik, dane binarne lub dowolne dane cyfrowe. Następnie algorytm haszujący tworzy plikmessage digest (md) w odniesieniu do danych otrzymanych na wejściu.
Praktycznie niemożliwe jest utworzenie nowego wejścia binarnego, które wygeneruje dany skrót wiadomości. Nawet pojedynczy bit binarnych danych wejściowych, jeśli zostanie zmieniony, wygeneruje unikalny komunikat, inny niż poprzedni.
Przykład
Spójrz na następujący przykładowy program, który jest zgodny z wyżej wymienionymi konwencjami.
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
Powyższy program generuje następujące dane wyjściowe.
W tym programie skrypt Pythona akceptuje dane wejściowe (Twoje pełne imię i nazwisko) i konwertuje je zgodnie z algorytmem haszującym md5. Szyfruje dane i zabezpiecza informacje, jeśli jest to wymagane. Zgodnie z wytycznymi kryminalistycznymi, nazwy dowodów lub jakiekolwiek inne dowody mogą być zabezpieczone w tym wzorze.