Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes melitus – Podcasts
    • Diabetes Typ-2 – Erläuterung
    • Medikament – Forxiga (Dapagliflozin)
    • Medikament – Eylea (Aflibercept)
    • Medikament – Lucentis (Ranibizumab )
    • Medikament – Metformin
  • Disclaimer
  • Toggle search form

Powershell: Ist ein Kennwort bei „Have I Been Pwned“ bekannt?

Posted on 17. Mai 202517. Mai 2025 By Daniel Lensing Keine Kommentare zu Powershell: Ist ein Kennwort bei „Have I Been Pwned“ bekannt?

In der heutigen digitalen Welt ist die Sicherheit von Passwörtern wichtiger denn je. Datenlecks und Passwortdiebstähle sind an der Tagesordnung, und Millionen von Zugangsdaten gelangen regelmäßig in die Hände von Cyberkriminellen. Ein äußerst nützliches Tool zur Überprüfung der Sicherheit von Passwörtern ist die API „api.pwnedpasswords.com“, die von Have I Been Pwned (HIBP) bereitgestellt wird.

Wie funktioniert die API?

Die API verwendet das k-Anonymitätsprinzip, um sicherzustellen, dass das zu prüfende Passwort nicht vollständig offengelegt wird. Der Prozess sieht folgendermaßen aus:

  1. Der Benutzer oder die Anwendung hashen das zu überprüfende Passwort mit SHA-1.
  2. Die ersten 5 Zeichen des Hashs werden an die API gesendet.
  3. Die API antwortet mit einer Liste aller Hashes, die mit diesen ersten 5 Zeichen beginnen und in ihrer Datenbank gefunden wurden.
  4. Die Anwendung vergleicht den vollständigen Hash des geprüften Passworts mit den zurückgegebenen Hashes.
  5. Falls eine Übereinstimmung gefunden wird, bedeutet dies, dass das Passwort kompromittiert ist und nicht verwendet werden sollte.

Dieses Verfahren stellt sicher, dass ein vollständiger Passwort-Hash niemals über das Internet übertragen wird, wodurch das Risiko minimiert wird, dass Angreifer sensible Informationen abfangen können.

Wie spreche ich die API per Powershell auf?

Ich habe den Abruf in eine Funktion geschrieben. Dieses hat für mich den Vorteil, dass ich den dann notwendigen Aufruf an mehrern Stellen in Programmierungen verwendne kann.

function Test-PwnedPassword {
    param (
        [string]$Password
    )

    # Passwort hashen (SHA-1)
    $sha1 = New-Object System.Security.Cryptography.SHA1Managed
    $hashBytes = $sha1.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($Password))
    $hashString = [BitConverter]::ToString($hashBytes) -replace '-',''
    
    # Ersten fünf Zeichen extrahieren
    $prefix = $hashString.Substring(0, 5)
    
    # API-Abfrage
    $url = "https://api.pwnedpasswords.com/range/$prefix"
    try {
        $response = Invoke-WebRequest -Uri $url -UseBasicParsing
        $hashes = $response.Content -split "`n"

        # Prüfen, ob das vollständige Hash-Suffix in der Liste ist
        foreach ($line in $hashes) {
            $parts = $line -split ":"
            if ($hashString.Substring(5) -eq $parts[0]) {
                Write-Output "Das Passwort wurde bereits $($parts[1]) Mal gefunden!"
                return
            }
        }
        Write-Output "Das Passwort wurde nicht gefunden."
    }
    catch {
        Write-Output "Fehler bei der API-Anfrage: $_"
    }
}

Für den Test des Skriptes kann folgender Test-Aufruf verwendet werden.

$passwort = Read-Host „Geben Sie Ihr Passwort ein“
Test-PwnedPassword -Password $passwort

Client, Powershell, Programmierung, Server, Windows 10, Windows 11, Windows Server, Windows Server 2019, Windows Server 2022, Windows Server 2025

Beitrags-Navigation

Previous Post: Powershell: Onpremise-Gruppenmitgliedschaften nach Datum entfernen
Next Post: Die historische Verteilung von Singles und Paaren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Client (231)
    • Android (7)
    • Fedora (Linux) (5)
    • iOS (5)
    • Mac OS X (5)
    • Peripherie (5)
    • Ubuntu (Linux) (8)
    • Windows 10 (56)
    • Windows 11 (17)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (55)
    • Auto (17)
    • Bahn (17)
    • Beinarbeit (5)
    • Flugzeug (3)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (193)
    • #t2dhero (46)
    • Arbeitszimmer (26)
    • Audio (20)
    • Film / Kino (7)
    • Gedanken (77)
    • Gesundheit (29)
    • Internet (4)
    • Lebensmittel & Essen (21)
    • Lesestoff (18)
    • Sport (10)
    • Veranstaltung (3)
  • Lehren & Lernen (48)
    • Forschung (1)
    • Konferenzen (3)
    • Präsentation (3)
    • Zertifizierung (42)
  • Programme (318)
    • Android-Apps (27)
    • Eigene Tools (11)
    • iOS-Apps (6)
    • Office (85)
    • Patchday+Updates (71)
    • Software (145)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (90)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (59)
    • VB.NET (8)
    • VBA (10)
    • VBS (10)
  • Server (159)
    • Citrix XenServer (2)
    • Exchange Server (26)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (92)
    • Windows Server 2012 (45)
    • Windows Server 2016 (15)
    • Windows Server 2019 (18)
    • Windows Server 2022 (15)
    • Windows Server 2025 (8)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (36)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (9)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme