Thema Datum  Von Nutzer Rating
Antwort
10.04.2024 06:06:26 Michael
*
Solved
10.04.2024 06:28:15 ralf_b
NotSolved
10.04.2024 06:41:40 Michael
NotSolved
10.04.2024 20:07:41 xlKing
NotSolved
10.04.2024 20:27:57 xlKing
NotSolved
11.04.2024 05:23:23 Michael
NotSolved
13.06.2025 17:46:18 d'r Bastler
NotSolved
Blau Passwörter nur als Hash speichern
01.07.2025 15:05:18 Ulrich
NotSolved
01.07.2025 15:41:55 Michael
NotSolved
01.07.2025 23:01:11 Ulrich
NotSolved

Ansicht des Beitrags:
Von:
Ulrich
Datum:
01.07.2025 15:05:18
Views:
27
Rating: Antwort:
  Ja
Thema:
Passwörter nur als Hash speichern

Hallo,

ich würde ganz grundsätzlich Passwörter ausschließlich als Hash speichern (vorher Salt!). Zu groß die Gefahr, dass User das selbe Passwort mehrfach nutzen und man über die Arbeitsmappe nicht nur an das Passwort für diese eine Anwendung kommt, sondern auch noch für weitere Nutzungen. Stellt euch vor, die Datei verschickt jemand noch unbedacht (ist demjenigen ja wahrscheinlich nicht bewusst, dass da extrem sensible Daten wie Passwörter in einem versteckten Tabellenblatt drin sind). Dann würde ich mich schon mitverantwortlich fühlen für die Öffenlegung der Daten!

Daher gilt grundsätzlich: Passwörter ausschließlich mit Salt gehashed speichern! (Salt: https://de.wikipedia.org/wiki/Salt_(Kryptologie)) Man könnte zum Beispiel dieses Modul für einen Md5-Hash benutzen: https://www.di-mgt.com.au/basMD5.bas.html Dann könnte der Code im Prinzip so aussehen:

Option Explicit

Const SALT As String = "ue2SyEkWfE6VlCcOr2DMn4hh"     'beliebige Zeichenfolge


Public Function check_passwort(Passwort As String, salted_hash As String) As Boolean
    check_passwort = (MD5_string(SALT & Passwort) = salted_hash)
End Function

Public Function salted_hash(Passwort As String) As String
    salted_hash = MD5_string(SALT & Passwort)
End Function


Sub Beispiel()
Dim zu_speichernder_hash As String
Dim gespeicherter_hash As String

'Jemand vergibt sein Passwort:
    zu_speichernder_hash = salted_hash(InputBox("denk dir ein passwort aus"))
    
    'jetzt den Hash speichern
    'Worksheets(1).Cells(1, 1).value = zu_speichernder_hash
    



'Zu einem späteren Zeitpunkt Passworteingabe überprüfen
    gespeicherter_hash = zu_speichernder_hash      'Worksheets(1).Cells(1, 1).value
    If check_passwort(InputBox("Wie lautet das Passwort"), gespeicherter_hash) Then
        MsgBox "Willkommen, Dein Passwort stimmt"
    Else
        MsgBox "Passwort stimmt nicht"
    End If

End Sub

 

Sicherheit erhöhende Maßnahmen:

- andere Hash-Funktion als MD5 verwenden

- Für jeden User ein anderes Salt benutzen. Das bedeutet für jeden User werden Salt und Hash gespeichert!

- Die Hashes nicht in der Arbeitsmappe speichern

 

All das, was ich hier geschrieben habe, erhöht die Sicherheit, dass das Passwort eines Nutzers bekannt wird. Ob die Passwortabfrage umgangen werden kann, ist eine ganz andere Frage.

Ich halte es allerdings für grob fahrlässig, ein Passwort verschlüsselt in einem Tabellenblatt zu hinterlegen, direkt daneben noch den Schlüssel und im Code die Verschlüsselungsmethode. Da braucht nur eine PraktikantIn etwas Langeweile und persönliche, sensible Daten werden zum Vorschein gebracht :-)

Grüße, Ulrich


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.04.2024 06:06:26 Michael
*
Solved
10.04.2024 06:28:15 ralf_b
NotSolved
10.04.2024 06:41:40 Michael
NotSolved
10.04.2024 20:07:41 xlKing
NotSolved
10.04.2024 20:27:57 xlKing
NotSolved
11.04.2024 05:23:23 Michael
NotSolved
13.06.2025 17:46:18 d'r Bastler
NotSolved
Blau Passwörter nur als Hash speichern
01.07.2025 15:05:18 Ulrich
NotSolved
01.07.2025 15:41:55 Michael
NotSolved
01.07.2025 23:01:11 Ulrich
NotSolved