Donnerstag, 24. August 2023

E-Mail Adressen Liste in SHA256 umwandeln

Mit diesen Python Skript kann man eine Liste von E-Mail Adressen in SHA256 umwandeln. Diese Liste kann dann an einen Dienstleister verschickt werden, damit dieser prüfen kann, ob diese E-Mail Adresse bei ihm in der Datenbank existieren.

#
# Imports
#
import csv
import hashlib
import sys
import os

#
# Variablen
#
csvDelimiter = ';'
csvFile      = 'Adressen.csv'

#
# Funktionen
#
def encrypt_string(hash_string):
    sha_signature = hashlib.sha256(hash_string.encode()).hexdigest()
    return sha_signature

#
# Main
#
print("###########################")
print("# E-Mail SHA256 Converter #")
print("###########################")
if not os.path.isfile(csvFile):
    with open(csvFile, 'w', newline='') as output:
        writer = csv.writer(output, delimiter=csvDelimiter)
        writer.writerow(['E-Mail', ''])
        sys.exit('Es konnte keine CSV Datei gefunden werden, es wird eine angelegt!') 

print("Gesamtzahl der Zeilen auslesen")
file = open(csvFile)
reader = csv.reader(file)
row_count = len(list(reader))

print("Umwandlung in SHA-256 (doppelte Einträge werden entfernt!)")
with open(csvFile) as f:
    emailHash = dict()
    reader = csv.reader(f, delimiter=csvDelimiter)    
    for row in reader:
        emailHash[row[0]] = encrypt_string(row[0].strip())
        
print("Speichern der neuen CSV Datei")
with open(csvFile, 'w', newline='') as output:
    writer = csv.writer(output, delimiter=csvDelimiter)
    for key, value in emailHash.items():
        writer.writerow([key, value])

print("Programm durchgelaufen")